Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
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. |
||
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
<?
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
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 :
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
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 ![]()
Hors ligne
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