rajouter email a l inscription

Alexis79
Invité n'ayant pas de compte PHPfrance

14 mars 2012, 17:16

Ok, c'est ce que j'ai fait, la page s'affiche, mais problème : L'inscription ne marche PLUS !!! :cry:
Que faire ?

Eléphant du PHP | 100 Messages

14 mars 2012, 17:19

Pouvez vous être un peu plus préçis ?
rien ne s'enregistre dans la BDD ?
une erreur de la part de MySql ?

alexis79
Invité n'ayant pas de compte PHPfrance

14 mars 2012, 17:22

C'est ça, rien ne s'enregistre, de plus avant j'étais redirigé vers l'accueil normalement, ou bien une erreur s'affichait, la rien ne se passe, je clique sur "go !" (bouton pour valider le formulaire) et je reste sur ma page actuelle, je vais voir la BDD, rien de nouveau.
Voici le code :
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') { 
   // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
   if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
      // on teste les deux mots de passe
      if ($_POST['pass'] != $_POST['pass_confirm']) { 
         $erreur = 'Les 2 mots de passe sont différents.'; 
      } 
      else { 
         $base = mysql_connect ('sql.franceserv.fr', 'titititi', 'jeremy79270'); 
         mysql_select_db ('titititi-db1', $base); 
         
         // on recherche si ce login est déjà utilisé par un autre membre
         $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"'; 
         $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
         $data = mysql_fetch_array($req); 
 
         if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'")'; 
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
 
            session_start(); 
            $_SESSION['login'] = $_POST['login']; 
            header('Location: index2.php'); 
            exit(); 
         } 
         else { 
            $erreur = 'Un membre possède déjà ce Pseudo.'; 
         } 
      } 
   } 
   else { 
      $erreur = 'Au moins un des champs est vide.'; 
   }  
}  
?>
<html>
<head><link rel="shortcut icon" href="favicon.gif" /> 
<title>WorldAventure</title>
</head>
 
<body><body background="fond.gif"><font color="#C0C0C0">
<center>Inscription &agrave; l'espace membre :<br /><br>
<form action="inscription.php" method="post">
Votre Pseudo : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
 Confirmation : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
Votre email : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>"><br />
<input type="submit" name="inscription" value="Go !"></center>
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;  
?>
<center><a href="index.php"><img src="accueil.gif"></a></center>
</body>
</html> 
Merci d'avance

alewis79
Invité n'ayant pas de compte PHPfrance

14 mars 2012, 17:31

C'est problématique du coup, j'ai plus du tout d'inscription :(
Sais-tu que faire ?

Eléphant du PHP | 100 Messages

14 mars 2012, 17:33

Code : Tout sélectionner

<?php // on teste si le visiteur a soumis le formulaire if (isset($_POST['inscription']) && $_POST['inscription'] == 'Go !') { // on teste l'existence de nos variables. On teste également si elles ne sont pas vides if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) { // on teste les deux mots de passe if ($_POST['pass'] != $_POST['pass_confirm']) { $erreur = 'Les 2 mots de passe sont différents.'; } else { $base = mysql_connect ('sql.franceserv.fr', 'titititi', 'jeremy79270'); mysql_select_db ('titititi-db1', $base); // on recherche si ce login est déjà utilisé par un autre membre $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); if ($data[0] == 0) { $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'")'; mysql_query($sql) or die('Erreur SQL !'.$sql.' '.mysql_error()); session_start(); $_SESSION['login'] = $_POST['login']; header('Location: index2.php'); exit(); } else { $erreur = 'Un membre possède déjà ce Pseudo.'; } } } else { $erreur = 'Au moins un des champs est vide.'; } } ?> <html> <head><link rel="shortcut icon" href="favicon.gif" /> <title>WorldAventure</title> </head> <body><body background="fond.gif"><font color="#C0C0C0"> <center>Inscription &agrave; l'espace membre :<br /><br> <form action="test.php" method="post"> Votre Pseudo : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br /> Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br /> Confirmation : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br /> Votre email : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>"><br /> <input type="submit" name="inscription" value="Go !"></center> </form> <?php if (isset($erreur)) echo '<br />',$erreur; ?> <center><a href="index.php"><img src="accueil.gif"></a></center> </body> </html>
essaie avec ceci sa devrait fonctionner

alexis79
Invité n'ayant pas de compte PHPfrance

14 mars 2012, 17:36

:cry: Ca marche encore moins :( rien ne s'enregistre dans la BDD, et je suis redirigé vers une page inexistante ...

Eléphant du PHP | 100 Messages

14 mars 2012, 17:37

Code : Tout sélectionner

<?php // on teste si le visiteur a soumis le formulaire if (isset($_POST['inscription']) && $_POST['inscription'] == 'Go !') { // on teste l'existence de nos variables. On teste également si elles ne sont pas vides if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) { // on teste les deux mots de passe if ($_POST['pass'] != $_POST['pass_confirm']) { $erreur = 'Les 2 mots de passe sont différents.'; } else { $base = mysql_connect ('sql.franceserv.fr', 'titititi', 'jeremy79270'); mysql_select_db ('titititi-db1', $base); // on recherche si ce login est déjà utilisé par un autre membre $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); if ($data[0] == 0) { $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'")'; mysql_query($sql) or die('Erreur SQL !'.$sql.' '.mysql_error()); session_start(); $_SESSION['login'] = $_POST['login']; header('Location: index2.php'); exit(); } else { $erreur = 'Un membre possède déjà ce Pseudo.'; } } } else { $erreur = 'Au moins un des champs est vide.'; } } ?> <html> <head><link rel="shortcut icon" href="favicon.gif" /> <title>WorldAventure</title> </head> <body><body background="fond.gif"><font color="#C0C0C0"> <center>Inscription &agrave; l'espace membre :<br /><br> <form action="inscription.php" method="post"> Votre Pseudo : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br /> Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br /> Confirmation : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br /> Votre email : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>"><br /> <input type="submit" name="inscription" value="Go !"></center> </form> <?php if (isset($erreur)) echo '<br />',$erreur; ?> <center><a href="index.php"><img src="accueil.gif"></a></center> </body> </html>
autant pour moi pour les test javais changer le chemin

alexis79
Invité n'ayant pas de compte PHPfrance

14 mars 2012, 17:40

MERCI !!!!
Ca marche enfin ! Merci beaucoup !! Désormais je saurai quoi changer !!
Je reviendrai sur ce forum si j'ai besoin, merci beaucoup !

alexis79
Invité n'ayant pas de compte PHPfrance

14 mars 2012, 17:42

Juste une dernière question, dans ma BDD, j'ai testé l'inscription et supprimé la ligne correspondant au compte test, du coup l'id est un de trop, comment rétablir la colonne ID pour qu'elle augmente normalement (par exemple j'ai 3 membres : et bien qu'elle passe pas à 5 au prochain membre mais à 4)
Si c'est possible.
Merci d'avance !

Eléphant du PHP | 100 Messages

14 mars 2012, 17:42

pas de soucis :D

alexis79
Invité n'ayant pas de compte PHPfrance

14 mars 2012, 17:44

Peux-tu répondre à ma question juste avant ton dernier post ? :)

Alexis79
Invité n'ayant pas de compte PHPfrance

14 mars 2012, 17:47

Tu es parti ? :(

Eléphant du PHP | 100 Messages

14 mars 2012, 17:47

ton id est en "auto_increment" ce qui est tout a fait normal, donc pas de soucis que sa passe de 3 à 5 ce n'est vraiment pas grave.
ce qui est plus grave c'est que tu vérifie pas si l'adresse mail que tu reçois est valide ou non.

Alexis79
Invité n'ayant pas de compte PHPfrance

14 mars 2012, 17:50

Faut faire comment ? :mrgreen:
Pour la valeur de l'ID, ok, seul problème du coup, je peux pas avoir une valeur "concrète" du nombre de membres ..

Eléphant du PHP | 100 Messages

14 mars 2012, 17:54

comment sa tu fais une requête en sql et c'est bouclé,

un truc du genre :

Code : Tout sélectionner

(!preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#', $_POST['email'])