Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 11-11-2007 05:44:53

didier08
Membre
Date d'inscription: 31-10-2007
Messages: 17

pourquoi mon script ne marche pas

voila j'ai éssayé de faire un  script d'inscription et j'ai voulu m'essayer à switch mais  sans succès
je cherche depuis 2 jours mon erreur mais rien n'y fait
je n'ai aucun message d'erreur mais il marche pas quand meme
je sèche carrèment (je suis un gros nul)
si en plus de corriger mon erreur vous pouviez m'insérer un header pour me diriger automatiquement vers une autre page car quand je l'insére la j'ai une erreur je dois pas le mette à la bonne place

Code:

<?
require("protec/passe/conf.php");
$new_pseudo = $_POST['new_pseudo'];

$db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);


switch($action) {
case "add";


if($new_pseudo==""){echo "<center>Il faut choisir un pseudo !!</center>";exit;}
if($new_password==""){echo "<center>Il faut choisir un mot de passe</center>";exit;}
if($new_password!=$new_password2){echo "<center>les mots de passe sont différents</center>";exit;}

$Resultfornummembers =mysql_db_query($sql_bdd,"SELECT * FROM ecurie where pseudo = '$new_pseudo'",$db_link);
$NumMembers = mysql_num_rows($Resultfornummembers);


if ($NumMembers !=0)
    {
    echo "<center>Ce pseudo existe déjà, Il faut en choisir un autre</center>";
    }
else
    {
    $taille = 20;
    $lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
    srand(time());
    for ($i=0;$i<$taille;$i++)
        {
        $id2.=substr($lettres,(rand()%(strlen($lettres))),1);
        }
        
    $requete=mysql_db_query($sql_bdd,"select max(idecurie) from ecurie",$db_link);
    $idmax=mysql_result($requete,0,"max(idecurie)");
    
        $idnew=($idmax +1);
echo $idnew;
    $requete2=mysql_db_query($sql_bdd,"insert into ecurie (`idecurie`, `id`, `pseudo`, `passe`, `destination`, `nom_entraineur`, `prenom_entraineur`, `age`, `ville`, `pays`, `email`) 
 values ('$idnew','$id2','$new_pseudo','$new_password','destination1.php','$nom_entraineur','$prenom_entraineur','$age','$ville','$pays','$mail')",$db_link);
    
        
    }


mysql_close($db_link);

break;

default;
echo "    <font face=\"Verdana, Arial\" size=\"5\"><center>
    <h2>Nouveau membre</h2><font size=\"3\">
    <form action=inscriptions.php method=\"post\">
    Nom de l'écurie<br>    <input type=\"text\" name=\"new_pseudo\"><br>
    Nom de l'entraineur<br>    <input type=\"text\" name=\"nom_entraineur\"><br>    
    prenom de l'entraineur<br>    <input type=\"text\" name=\"prenom_entraineur\"><br>    
    Votre age<br>    <input type=\"text\" name=\"age\"><br>    
    Ville<br>    <input type=\"text\" name=\"ville\"><br>
    Pays<br>    <input type=\"text\" name=\"pays\"><br>
    Chosissez un mot de passe<br>    <input type=\"password\" name=\"new_password\"><br>    
    Confirmez le mot de passe<br>    <input type=\"password\" name=\"new_password2\"><br>    
    email<br>    <input type=\"text\" name=\"mail\">
    <input type=\"hidden\" name=\"action\" value=\"add\"><br>    
    <input type=\"submit\" value=\"Envoyer\">
    </form></font>
    </center></font>";

break;
}
?>

Hors ligne

 

#2 14-11-2007 18:41:54

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: pourquoi mon script ne marche pas

Salut,
Pour ta redirection avec header(), si il y a une erreur c'est que tu cherche à afficher quelque chose avant l'utilisation de celle-ci, par exemple si tu écris ceci :

Code:

echo 'test';
header('Location: page.php');

Tu aurras le genre d'erreur qui doit s'afficher chez toi. Mais c'est aussi souvent le cas quand une autre erreur se produit et s'affiche avant le header()

Ensuite on écrit

Code:

case "add":
et non
case "add";

Bien que ça fonctionne mais autant écrire correctement le code.
Après je te conseil de placer des echo 'test [n]' (ou [n] vaut 1, 2, etc...) la ou tu pense que ça plante dans ton code, histoire de voir ou l'execution s'arrête.
Sinon, pense à afficher tes requêtes SQL et à les tester
Autre chose concernant mysql_db_query => Cette fonction est décpréciée depuis PHP 4.0.6. N'utilisez pas cette fonction. Utilisez mysql_select_db() et mysql_query() à la place.
Mais là rien ne t'oblige à changer smile

Hors ligne

 

#3 15-11-2007 00:05:37

didier08
Membre
Date d'inscription: 31-10-2007
Messages: 17

Re: pourquoi mon script ne marche pas

Merci de ta réponse

en fait j'ai carément oublié le switch et je passe par 2 pages mais je testerais tout tes conseils pour le défit car un jour  j'en aurait peut etre besoin et je serait bien content d'avoir la soluce

Hors ligne