Php-inscription

titi01 Messages postés 2 Statut Membre -  
titi01 Messages postés 2 Statut Membre -
Bonjour,

j'ai créé un site que je rend dynamique; lorsque je valide sur ma page d'inscription, le résultat donne un renvoie à nouveau du formulaire et sur la barre d'adresse, il est noté:
www.monsite/s'inscrire? Envoyer=valider. Au lieu d'ouvrir la page de membre; tout le script php est bien présenté, pourtant, je n'ai aucun commentaire affiché. Si vous avez l'issue pour valider l'inscription, Merci d'avance.

1 réponse

  1. flokocha Messages postés 1519 Statut Membre 281
     
    Salut,

    Sans voir ton code, difficile de t'aider... :)
    0
    1. titi01 Messages postés 2 Statut Membre
       
      <?php
      try
      {
      $bdd = new PDO('mysql:host='';dbname=''', 'root', '');
      $Table="table_user"
      }
      catch(exception $e)
      {
      //en cas d'erreur, on affiche le message et on arrête tout
      die(erreur:''.$e->getMessage());
      }
      //On vérifie la validation
      if(isset($inscription['inscription'] AND isset($inscription=$valide),[error]==0)
      {
      echo'.fOpen($-FILE['ma page']).'<br/>;
      }
      // on ouvre la table
      $req=$Bdd->query("SELECT * FROM LISTE MEMBRES where 'Valide'="false";
      $valeur=mysql_query($req);
      if (mysql_affected_rows()<>0){
      echo'login existe déjà';
      echo'<br>Rentrez un autre login';
      // retour en arrière
      }
      else
      {
      $req="SELECT * FROM LISTE MEMBRES where email='$email'";
      $valide=mysql_query($req);
      }
      if (mysql_affected_rows()<>0){
      echo'Adresse mail existe déjà';
      // procédure pour récupérer le mot de passe
      }else{
      // nom utilisateur et adresse mail inconnue, on peut rentrer l'utilisateur
      echo'Inscription utilisateur';
      }
      }
      require('includes/login.php');
      }
      // on commence par vérifier si le formulaire est correctement rentré
      if ($correct){
      $mail=$_POST["email"];
      $utili= $_POST["login"];
      $pseudo=$-POST["pseudo"];
      $pays=$-POST["pays"];
      $$motdepass=$-POST['$motdepass']
      echo'<br>';
      echo'Valeurs correctes';
      echo'<br>';
      require('includes/login.php');
      // on ouvre la table
      $requete=$bdd->prepare("SELECT * FROM Liste Membre where login='$login'");
      $req->execute(array($-GET['pseudo'],$-GET['e-mail'],$-GET['$motdepass'],$-GET['pays']))
      $valeur=mysql_query($req);
      if (mysql_affected_rows()<>0){
      echo'Login existe déjà';
      echo'<br>Rentrez un autre login';
      // retour en arrière
      }else{
      $req=$bdd->prepare("SELECT * FROM LISTE MEMBRES where e-mail='$e_mail'");
      $req->execute(array($-GET['pseudo'],$-GET['e-mail'],$-GET['motdepass'],$-GET['pays']))
      $valeur=mysql_query($req);
      if (mysql_affected_rows()<>0){
      echo 'Adresse mail existe déjà';
      // procédure pour récupérer le mot de passe
      }else{
      // nom utilisateur et adresse mail inconnue, on peut rentrer l'utilisateur
      echo 'Je rentre login';
      $requete="INSERT LISTE MEMBRES SET login='$login',pass='$pass',email='$email',pays='$pays',pseudo=$pseudo";
      $erreur=mysql_query($requete);
      $erreur1=mysql_error();
      print($erreur);
      print($erreur1);
      }
      }
      require('includes/login.php');
      }

      echo 'Soyez le Bienvenue dans votre espace<br/>';
      include(Ma page.html);
      }




      //En cas d'oublie de mot de pass

      echo <p> 'Avez-vous oublié votre mot de pass!</p><br/>;
      <span>pour retrouver votre mot de pass, veuillez envoyer l'e-mail que vous avez enregistré à votre inscription</p><br/>;
      print:<TABLE>;
      print:<TR>;
      print:<TD>;
      print:<CENTER>;
      print:<p align=center style='text-align:center'>;
      print:<span style='font-family:"Arial","sans-serif"'>E-mail<INPUT TYPE="text" SIZE="50" NAME="E-mail" value="">;
      print:<b>;
      print:<span style='color:red'>*</span>;
      print:</b></span>;
      print:</p>;
      print:<CENTER>;
      print:</TD>;
      print:</TR>;
      print:</TABLE>;
      //on récupère l'e-mail envoyé
      if(isset($-POST['e-mail'] AND isset($e-mail='true'));
      //on va recupérer le mot de pass dans la base mysql
      $reponse=$bdd->queery('SELECT 'mot_de_pass' FROM LISTE MEMBRES where 1')
      // on fait le boucle

      while($donnee=$reponse->fetch());
      {
      echo 'Trouvez votre mot de pass en cliquant sur ce lien:<a href="#">(intvar($donnee['mot de pass'])</a>
      }
      $reponse->closecursor();
      }
      }
      // fonction d'ouverture de la page pour le nouvelle inscription(nouveaux membres)

      if(isset($-POST['pseudo']AND $-POST['e-mail']AND $-POST['motdepass']AND $-POST['pays']AND $-POST['âge']));



      // si tout va bien, on récupère les coordonnées et on les place dans la table mysql
      if($valider='true')
      {
      echo "Soyez le bienvenu sur votre espace.$Ma_page.<br/>";
      }
      else if(isset($formulaire_rempli="false"));
      {
      echo'Il est indispensable de remplir ce formulaire'
      }
      else
      {

      echo 'Bienvenue dans votre espace'.$Ma_page.'<br/>;
      $GET($Ma_page,'r+');
      $open($Ma_page);
      $put($Ma_page);
      $seek ($Ma_page);
      }?>

      <?
      Try
      {
      $bdd=mysql('Host:',user:',dataname:'',password:'')
      $Table="tbl_user";
      }
      catch(exception $e)
      {
      die(erreur:''.$e->getMessage());
      //Etape 1 connexion au serveur Mysql
      $link = @mysql_connect($serveur,$admin,$password) or die ("connexion impossible");
      //Etape 2 sélectionner une database
      $success = @mysql_select_db($database,$link) or die ("connexion réussie");
      if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
      extract($_POST);
      // on recupère le password de la table qui correspond au login du visiteur
      $sql = "select pwd from tbl_user where login='".$login."'";
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
      $data = mysql_fetch_assoc($req);
      if($data['pwd'] != $pass) {
      echo '<p>Mauvais login / password. Merci de recommencer</p>';
      include('index2.htm'); // On inclut le formulaire d'identification
      exit;
      }
      else {
      session_start();
      $_SESSION['login'] = $login;
      echo 'Vous etes bien logué';
      {
      echo "<script language='Javascript'>document.location='Ma page.php'</script>";
      }
      // ici vous pouvez afficher un lien pour renvoyer
      // vers la page d'accueil de votre espace membres
      }
      }
      else {
      echo '<p>Vous avez oublié de remplir un champ.</p>';
      include('S/'inscrire.htm'); // On inclut le formulaire d'identification
      exit;
      }
      ?>
      }
      function ValideLogin($QuelleLogin)
      {
      // SI le nom est carrément vide :
      if ($QuelleLogin == "")
      return "<font color='#FF0000'>Le login ne peut pas être vide</font><BR>";
      // *** PLACER ICI LES INSTRUCTIONS DE VALIDATION ***
      // Si on arrive ici, c'est que tout va bien : Le login est syntaxiquement correct :
      return "";
      }
      function ValidePass ($QuellePass)
      {
      // SI le pass est carrément vide :
      if ($QuellePass == "")
      return "<font color='#FF0000'>Le Pass ne peut pas être vide</font><BR>";
      // *** PLACER ICI LES INSTRUCTIONS DE VALIDATION ***
      // Si on arrive ici, c'est que tout va bien : Le pass est syntaxiquement correct :
      return "";
      }
      function ValideEMail($QuelleAdresse)
      {
      // SI l'E-Mail est carrément vide :
      if ($QuelleAdresse == "")
      return "<font color='#FF0000'>L'E-Mail ne peut pas être vide</font><BR>";
      // Si l'E-Mail contient des caractères non autorisés dans une adresse mail correcte :
      if (strspn(strtolower($QuelleAdresse), "abcdefghijklmnopqrstuvwxyz0123456789-_@.") < strlen($QuelleAdresse))
      return "<font color='#FF0000'>L'E-Mail que vous avez fourni contient des caractères non-autorisés</font><BR>";
      if (substr_count($QuelleAdresse , "@") == 0)
      return "<font color='#FF0000'>Un E-Mail DOIT contenir le signe @</font><BR>";
      if (substr_count($QuelleAdresse , "@") > 1)
      return "<font color='#FF0000'>Un E-Mail ne peut contenir plus d'un signe @</font><BR>";
      // *** PLACER ICI LES INSTRUCTIONS DE VALIDATION ***
      if ((strpos($QuelleAdresse , "@")==0) || (strpos($QuelleAdresse , "@")==strlen($QuelleAdresse)-1))
      return "<font color='#FF0000'>Un E-Mail ne peut commencer ni finir avec le signe @</font><BR>";
      if (($QuelleAdresse[strlen($QuelleAdresse)-3] == ".") || ($QuelleAdresse[strlen($QuelleAdresse)-4] == "."))
      {}
      else
      return "<font color='#FF0000'>Il manque un point dans votre E-Mail, ou il est mal placé</font><BR>";
      if (strlen($QuelleAdresse) < 6)
      return "<font color='#FF0000'>L'E-Mail doit mesurer au moins 6 caractères</font><BR>";
      if (strlen($QuelleAdresse) >= 50)
      return "<font color='#FF0000'>L'E-Mail ne peut excéder 50 caractères</font><BR>";
      if ((strspn($QuelleAdresse[0], "abcdefghijklmnopqrstuvwxyz") == 0) || (strspn($QuelleAdresse[strlen($QuelleAdresse)-1], "abcdefghijklmnopqrstuvwxyz") == 0))
      return "<font color='#FF0000'>Le premier et le dernier catactère de l'E-Mail doit être une lettre</font><BR>";
      echo strpos("ab@.ef", "@.");
      echo strpos("ab@cd", "@.");
      // *** PLACER ICI LES INSTRUCTIONS DE VALIDATION ***

      }
      ?>
      <html>
      <head>
      <title>Inscription</title>
      "<font color="grey">Veuillez remplir les champs obligatoires </font><font color="red">*</font>
      <link rel="SHORTCUT ICON" href="/favicon.ico"/>
      <link href="styles.css" rel="stylesheet" type="text/css" media="screen" />
      </head>
      <body>
      <?
      if (($Login <> "") && ($Pass <> "") && (ValideEMail($EMail)==""))
      {
      echo " Merci de vous être inscrit, "$Login" , votre inscription a bien été prise en compte. ";
      exit;
      }
      ?>
      <form method="post" action="inscription.php">
      <!-- Gestion du Login : -->
      <? if ($EnvoyerDonnee <> "") echo ValideLogin($Login); ?>
      <FONT color="white"><H1>* Votre login :</H1></FONT> <input type="text" name="Login" value=<?echo $Login;?>> <br>
      <!-- Gestion du Pass : -->
      <? if ($EnvoyerDonnee <> "") echo ValidePass($Pass); ?>
      <FONT color="blue"><H1>* Votre mot de pass :</H1></FONT> <input type="text" name="Pass" value=<?echo $Pass;?>> <br>
      <!-- Gestion de l'E-Mail : -->
      <? if ($EnvoyerDonnee <> "") echo ValideEMail($EMail); ?>
      <FONT color="red"><H1>* Votre E-Mail :</H1></FONT> <input type="text" name="EMail" value=<?echo $EMail;?>> <br>
      <input type="submit" name="EnvoyerDonnee" value="Envoyer">
      </form>
      </body>
      </html>


      <?php
      include ('protected/login.inc.php');
      //include ('protected/ctrl.inc.php');
      $Pseudo1=$_POST["pseudo1"];
      $Pseudo2=$_POST["pseudo2"];
      $$motdepass1=$_POST["$motdepass1"];
      $$motdepass2=$_POST["$motdepass2"];
      $Email1=$_POST["mail1"];
      $Email2=$_POST["mail2"];
      $Pays1=$POST["pays1"];
      $Pays2=$POST["pays2"]
      $Message_envoyé="Dans quelques instants vous allez trouver un E-Mail dans votre boîte aux lettres<BR> vous indiquant le lien à suivre pour activer votre compte.<BR> ";
      $Message_non_envoyé="Une erreur indéterminée s'est produite dans la procédure d'inscription. Vérifiez votre formulaire.";
      // ON VERIFIE LES CHAMPS OBLIGATOIRES
      if ($Pseudo1=="") exit("choissez un nom");
      if ($Pseudo2=="") exit("confirmer le nom");
      if ($$motdepass1=="") exit("choisissez un mot de passe");
      if ($$motdepass2=="") exit(" confirmez ton mot de passe");
      if ($Email1=="") exit("L'adresse E-Mail est obligatoire");
      if ($Email2=="") exit("confirmez votre adresse E-Mail");
      //ON VERIFIE LA COHERENCE DE LA SAISIE
      if ($Pseudo1!=$Pseudo2) exit ("le Nom et sa confirmation sont différents. INSCRIPTION INVALIDE");
      if ($Password1!=$Password2) exit ("le mot de passe et sa confirmation sont différents. INSCRIPTION INVALIDE");
      if ($Email1!=$Email2) exit ("l'adresse E-Mail et sa confirmation sont différentes. INSCRIPTION INVALIDE");
      //ON RECUPERE L'ENREGISTREMENT
      $Id = -1;
      $sql = "SELECT * FROM LISTE MEMBRES WHERE Pseudo='$Pseudo1' AND Password='$Password1',E-mail='$e_mail'";
      $resultat = mysql_query($sql,$connexion) or die ("Erreur : ".mysql_error());
      //SI L'ENREGISTREMENT EXISTE, ON RECUPERE LES VALEURS
      $Enregistrements=mysql_num_rows($resultat);
      if ($Enregistrements>0):
      $row = mysql_fetch_row($resultat);
      $Id = $row[0];
      $Pseudo = $row[1];
      $Password = $row[2];
      $e_mail=$row[3];
      endif;
      //SI LE PSEUDO A DEJA ETE UTILISE, ON ARRETE L'INSCRIPTION
      If ($Id!=-1 && $Pseudo==$Pseudo1):
      exit("Ce Nom est déjà utilisé, tu dois en choisir un autre.");
      endif;
      //SI LE MOT DE PASSE A DEJA ETE UTILISE, ON ARRETE L'INSCRIPTION
      If ($Id!=-1 && $Password==$Password1):
      exit("Ce mot de passe est déjà utilisé, vous devez en choisir un autre.");
      endif;
      //SI LE COMPTE EXISTE, ON ARRETE L'INSCRIPTION
      If ($Id!=-1 && $FlagActivation=='1'):
      exit("ce compte est déjà actif, vous ne pouvez pas en créer un second avec la même adresse E-mail.");
      endif;
      //ON MET LE FLAG A 1 OU 2 SELON QUE LE COMPTE EST A ACTIVER OU A CREER
      if ($Id==-1):
      $Flag=2; //Le compte est à créer
      endif;
      If ($Id!=-1 && $FlagActivation=='0'):
      $Flag=1; //Le compte est à activer
      endif;
      // GENERATION D'UNE CLE ALEATOIRE. SI LE VISITEUR EST DEJA INSCRIT, ON N'EN TIENDRA PAS COMPTE;
      $Clé = md5(microtime(TRUE)*100000);
      //SI LE COMPTE EST A CREER, ON ENREGISTRE LES INFORMATIONS DANS LA BASE DE DONNEES
      iF ($Flag==2):
      $requete = "INSERT INTO LISTE MEMBRES(Pseudo, Password, Email, Cle)
      VALUES
      ('$Pseudo1', '$Password1', '$Email1', '$Clé')";
      $resultat = mysql_query($requete,$connexion);
      //S'il y a une erreur
      if ($resultat==false):
      exit("votre inscription n'a pu être effectuée pour une raison inconnue, vérifies votre formulaire.");
      endif;
      else :
      //Le compte est à activer, on le met d'abord à jour dans changer la clé chiffrée et l'adresse E-Mail
      $requete = "UPDATE liste Membre SET pseudo='$Pseudo1', password='$Password1' WHERE id=$Id";
      $resultat = mysql_query($requete,$connexion);
      //S'il y a une erreur
      if ($resultat==false) exit("votre inscription n'a pu être effectuée pour une raison inconnue, vérifies votre formulaire.");
      endif;
      //ON RECUPERE LES IDENTIFIANTS DU VISITEUR S'IL EST ENREGISTRE
      $sql = "SELECT Pseudo, Password FROM LISTE MEMBRES WHERE Email='$Email'";
      $resultat = mysql_query($sql,$connexion) or die ("Requête incorrecte");
      while ($row = mysql_fetch_array($resultat))
      {
      $Pseudo = $row['Pseudo'];
      $Password=$row['Password'];
      }
      //SI ON NE TROUVE PAS LES IDENTIFIANTS ON NE VA PAS PLUS LOIN
      If ($Pseudo=="" OR $Password==""):
      exit("Votre inscription est incomplète. Vous devez vous réinscrire.");
      endif;
      //TOUT EST BON - PREPARATION DU MESSAGE D'ACTIVATION
      $Sujet = "Procédure d'inscription";
      $Entete = "webmaster@$SERVER_NAME";
      $Destinataire = $Email1;
      $Destinataire = ""@dmoke-evangile.com";

      //FORMULE DE POLITESSE
      $Texte .= "Ravie que ce site ait trouvé un intérêt à vos yeux\n\n";
      $Texte .= "Vous voilà dans mon espace.\n\n";
      $Texte .= "votre nom est : $Pseudo\n\n";
      $Texte .= "votre mot de passe est : $Password\n\n";
      $Texte .= "Je vous conseille de le noter quelque part.\n";
      $Texte .= "VOus pouvez faire connaître ce site à vos proches et amis.
      ---------------
      Ceci est un mail automatique, Merci de ne pas y répondre.";
      $sendmail=mail($Destinataire, $Sujet, $Texte, $Entete) ; // Envoi du mail
      if ($sendmail):
      echo $Message_envoyé;
      else:
      echo $Message_non_envoyé;
      endif;
      //FERMETURE DE LA CONNEXION
      mysql_close($connexion);
      ?>
      0