Problème page d'inscription
Résolu
aneantisseur
Messages postés
385
Date d'inscription
Statut
Membre
Dernière intervention
-
G1fo Messages postés 100 Date d'inscription Statut Membre Dernière intervention -
G1fo Messages postés 100 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis en train de développer un site et j'ai un petit problème. Je fais ma page d'inscription normal, et là, ca ne m'affiche rien, juste les graphismes de mon site. Et même avec un mysql_error() ca n'affiche toujours rien. J'ai donc testé avec un autre site que j'avais développé il y a de cela quelques temps et là, ca me met les erreurs.
Voici le code :
Merci de bien vouloir m'aider.
Voici le code :
if(isset($_POST['inscription'])) { $pseudo = htmlspecialchars(addslashes($_POST['pseudo'])); $password = htmlspecialchars(addslashes(md5($_POST['password']))); $password2 = htmlspecialchars(addslashes(md5($_POST['password2']))); $email = htmlspecialchars(addslashes($_POST['email'])); $email2 = htmlspecialchars(addslashes($_POST['email2'])); $question = htmlspecialchars(addslashes($_POST['question'])); $question2 = htmlspecialchars(addslashes($_POST['question2'])); $res = mysql_query("SELECT COUNT(*) FROM comptes WHERE pseudo = '".mysql_real_escape_string($pseudo)."'") or die(mysql_error()); $test_pseudo_row = mysql_fetch_row($res); $test_pseudo = $test_pseudo_row[0]; $res_email = mysql_query("SELECT COUNT(*) FROM comptes WHERE email = '".mysql_real_escape_string($email)."'") or die(mysql_error()); $test_email_row = mysql_fetch_row($res_email); $test_email = $test_email_row[0]; if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email) AND preg_match("#[^a-z0-9éèêàâîôûù]#i", $_POST['pseudo']) == FALSE AND $email == $email2 AND $password == true AND $password == $password2 AND $pseudo == true AND $email == true AND $test_pseudo == 0 AND $question == true AND $question2 == true AND $test_email['email'] == 0) { $query = mysql_query("INSERT INTO comptes VALUES('', '".$pseudo."', '".$password."', '".$password2."', '".$email."', '".$email2."', '".$question."', '".$question2."', '', '')") or die(mysql_error()); } else if (preg_match("#[^a-z0-9éèêàâîôûù]#i", $_POST['pseudo']) OR $email != $email2 OR $password != $password2 OR $pseudo == false OR $email == false OR $email2 == false OR $password == false OR $password2 == false OR $question == false OR $question2 == false) { echo '<center>Votre compte n\'a pas été créé. Une ou plusieurs de ces raison(s) peuve(nt) en être la(les) cause(s) : <br /> Vos mots de passes sont différents.<br /> Vous n\'avez pas indiqué soit le premier, soit le deuxième mot de passe.<br /> Vous n\'avez pas indiqué votre email.<br /> Votre email n\'est pas valide.<br /> Vous n\'avez pas indiqué votre pseudo.<br /> Vous n\'avez pas choisi de question ou de réponse.<br /> Il y a des caractères spéciaux dans votre pseudo (les accents sont autorisés).<br /> <b><a href="formulaire.php">Cliquez ici pour retourner au formulaire d\'inscription</a></b></center>'; } else if ($test_pseudo != 0) { echo '<p align=center>Le pseudo <strong> '.htmlspecialchars(stripslashes($_POST['pseudo'])).' </strong> est déjà utilisé. Veuillez en choisir un autre.<br /> <b><a href="formulaire.php">Cliquez ici pour retourner au formulaire d\'inscription</a></b></p>'; } else if ($test_email != 0) { echo '<center><L\'email <strong> '.htmlspecialchars(stripslashes($_POST['pseudo'])).' </strong> est déjà utilisée. Veuillez en choisir une autre.<br /> <b><a href="formulaire.php">Cliquez ici pour retourner au formulaire d\'inscription</a></b></center>'; }
Merci de bien vouloir m'aider.
A voir également:
- Problème page d'inscription
- Supprimer page word - Guide
- Twitter inscription - Guide
- Paypal inscription - Guide
- Tchat gratuit sans inscription - Accueil - Réseaux sociaux
- Instagram inscription - Guide
13 réponses
Pas le temps de vérifier, mais ... ne faut il pas ajouter le ";" en fin de requête ?
Un truc genre
mysql_db_query("dbname","select * from comptes ;");
En même temps, je comprends pas pourquoi tu n'aurais pas d'erreur...
Un truc genre
mysql_db_query("dbname","select * from comptes ;");
En même temps, je comprends pas pourquoi tu n'aurais pas d'erreur...
Dans le code que tu nous donnes, il n'y a aucun formulaire, juste le traitement en PHP ; donne le script complet (colle-le plutôt sur http://paste.pocoo.org/ et passe l'adresse pour le voir)
mysql_query("SELECT COUNT(*) FROM comptes WHERE pseudo = '".mysql_real_escape_string($pseudo)."'")
Je le vois pas le ;
mysql_query("SELECT COUNT(*) FROM comptes WHERE pseudo = '".mysql_real_escape_string($pseudo)." ' ; ")
Je peux pas tester là, pas l'temps... j'ai toujours pensé qu'il était impératif de le mettre.
Je le vois pas le ;
mysql_query("SELECT COUNT(*) FROM comptes WHERE pseudo = '".mysql_real_escape_string($pseudo)." ' ; ")
Je peux pas tester là, pas l'temps... j'ai toujours pensé qu'il était impératif de le mettre.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait j'ai résolu le problème. Ne me demandez pas comment, j'ai juste ajouté un mysql_error() après le mysql_fetch_row et ca a marché tout de suite.
C'est quand même bizzare...
C'est quand même bizzare...
C'est que ce n'est pas vraiment la solution, même si "ça fonctionne".
Pour G1fo, il n'y a pas besoin de ";" dans une requête SQL avec mysql_query
Pour G1fo, il n'y a pas besoin de ";" dans une requête SQL avec mysql_query
Tu as sans doute parlé de ça car PhpMyAdmin le fait lorsqu'il y a plusieurs requêtes SQL à faire.
$sql = explode(';', $_POST['sql']); foreach($sql as $k => $v) { mysql_query($v); }