Partage
  • Partager sur Facebook
  • Partager sur Twitter

mon code s'affiche sur ma page web

    16 novembre 2017 à 18:40:45

    Bonjour a tous,

    Pour les cours de mateo, j'essaie de faire un blog.

    J'en suis a la page d'inscription et mon code s'affiche sur ma page....help please ! 

    <?
                   include '/configuration/configurationPDO.php';
    
                 ?> 
         
               <? $pseudo = $_POST['pseudo'];
                 
                function existePseudo($pseudo)
                  
                  global $bdd;
                 ?>
                <? 
                $sql = "SELECT pseudo FROM inscription WHERE pseudo = '$pseudo'";
                 ?>
                <?
            {
                $res= $bdd->query($sql);
                $row= $res->fetch();
            }
                ?>
                <?
                return !empty($row);
                ?> 
                 
                if(existePseudo($pseudo) )
                {          
                
                        <p>Pseudo déjà utilisé !</p>
                 
                 }
            <?
                  
                 elseif(!empty($_POST['pseudo']) AND !empty($_POST['mdp']) AND !empty($_POST['confirmation']) AND !empty($_POST['mail']) AND $_POST['mdp'] == $_POST['confirmation'])
                 {
                    $req = $bdd->prepare('INSERT INTO inscription(pseudo, mdp, mail, date_creation) VALUES (?, ?, ?, NOW())');
                    $req->execute(array($_POST['pseudo'], $_POST['mdp'], $_POST['mail']));
                
                   <p>Bienvenue <?php echo htmlspecialchars($_POST['pseudo']); ?> ! </p>
                
                  }
                  
                 else
                 {
                 ?>
                    <p> Merci de bien remplir tous les champs ou d'avoir un mot de passe correspondant dans les deux champs </p>
     
                            
                <?php
                if (isset($_POST['email']))
                {
                    $_POST['email'] = htmlspecialchars($_POST['email']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
    
                    if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']))
                    {
                        echo 'L\'adresse ' . $_POST['email'] . ' est <strong>valide</strong> !';
                    }
                    else
                    {
                        echo 'L\'adresse ' . $_POST['email'] . ' n\'est pas valide, recommencez !';
                    }
                }
                ?>



    • Partager sur Facebook
    • Partager sur Twitter
    Greg.
      16 novembre 2017 à 18:46:52

      Bonjour, pour commencer laisse tomber les short tags et ouvre avec <?php

      Ensuite enlève ceux qui sont inutiles. Enfin, utilise correctement les accolades pour définir ta fonction.

      • Partager sur Facebook
      • Partager sur Twitter
        16 novembre 2017 à 18:47:47

        Bonjour. 

        tu utilises pas bien les ouvertures en PHP

        pour commencer un code PHP tu dois l'ouvrir comme sa  <?php est le fermer comme sa  ?>

        • Partager sur Facebook
        • Partager sur Twitter
          16 novembre 2017 à 19:25:04

          bonjour,

          d'abord merci pour vos réponses.

          mon code m'affichait des erreurs sur le include et je comprenais ass dcp je me suis mis a mettre des balise de partout pour voir si cela changeait qqchose et je suis arriver aa enfinobtenir mon site tel que l'image le montre....

          mon code était celui ci avant.

           <?php
                         include '/configuration/configurationPDO.php';
          
                      {
           
                          $pseudo = $_POST['pseudo'];
                           
                          function existePseudo($pseudo)  
                          global $bdd;
                           
                          $sql = "SELECT 1 FROM membres WHERE pseudo = '$pseudo'";
                           
                          $res = $bdd->query($sql);
                          $row = $res->fetch();
                           
                          return !empty($row);
                      }   
                           
           
                          if(existePseudo($pseudo) )
                          {          
                          ?>
                          <p>Pseudo déjà utilisé !</p>
                           <?php
                           }
                            
                           elseif(!empty($_POST['pseudo']) AND !empty($_POST['pass']) AND !empty($_POST['confirmation']) AND !empty($_POST['email']) AND $_POST['pass'] == $_POST['confirmation'])
                           {
                              $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, email, date_inscription) VALUES (?, ?, ?, NOW())');
                              $req->execute(array($_POST['pseudo'], $_POST['pass'], $_POST['email']));
                          ?>
                             <p>Bienvenue <?php echo htmlspecialchars($_POST['pseudo']); ?> ! </p>
                          <?php
                            }
                            
                           else
                           {
                           ?>
                              <p> Merci de bien remplir tous les champs ou d'avoir un mot de passe correspondant dans les deux champs </p>
                          <?php
                           }
                      }  
                      
                       ?>
                                  
                      <?php
                      if (isset($_POST['email']))
                      {
                          $_POST['email'] = htmlspecialchars($_POST['email']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
          
                          if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']))
                          {
                              echo 'L\'adresse ' . $_POST['email'] . ' est <strong>valide</strong> !';
                          }
                          else
                          {
                              echo 'L\'adresse ' . $_POST['email'] . ' n\'est pas valide, recommencez !';
                          }
                      }
                      ?>



          • Partager sur Facebook
          • Partager sur Twitter
          Greg.
            16 novembre 2017 à 19:43:06

            Je ne comprends pas cette partie :

            <?php
                           include '/configuration/configurationPDO.php';
             
                        {
              
                            $pseudo = $_POST['pseudo'];
                              
                            function existePseudo($pseudo)  
                            global $bdd;
                              
                            $sql = "SELECT 1 FROM membres WHERE pseudo = '$pseudo'";
                              
                            $res = $bdd->query($sql);
                            $row = $res->fetch();
                              
                            return !empty($row);
                        }   
                             



            • Partager sur Facebook
            • Partager sur Twitter
              16 novembre 2017 à 19:58:43

              le include est pour aller chercher ma configuration d’accès a mysql dans un fichier configuration configurationPDO.php.

              lors de l'inscription d'un user a mon forum il doit choisir un pseudo.

              Ce pseudo est comparé  a ceux déjà inscrit pour savoir si il y a un doublon.

              • Partager sur Facebook
              • Partager sur Twitter
              Greg.
                16 novembre 2017 à 20:44:35

                Non, mais c'est pas vraiment ça que je ne comprends pas... Que font ces accolades toutes seules ? Et pourquoi n'y en a-t-il pas autour de la fonction ?
                • Partager sur Facebook
                • Partager sur Twitter
                  16 novembre 2017 à 21:30:08

                  <?php
                                 include '/configuration/configurationPDO.php';
                     
                                  $pseudo = $_POST['pseudo'];
                                     
                                  function existePseudo($pseudo) 
                                 { global $bdd;
                                     
                                  $sql = "SELECT 1 FROM membres WHERE pseudo = '$pseudo'";
                                   
                                  $res = $bdd->query($sql);
                                  $row = $res->fetch();
                                     
                                  return !empty($row); }

                  Si je l’écrit comme ca j ai une erreur sur $pseudo = $_POST['pseudo'];

                  -
                  Edité par GregoireRabiller 16 novembre 2017 à 21:53:25

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Greg.
                    17 novembre 2017 à 5:38:11

                    'lut,

                    Parce que dans le tableau $_POST la cellule nommée 'pseudo' n'existe tout simplement pô.

                    Ce tableau est alimenté par php lorsque soit une requette ajax depuis le client qui lui envoie en mode POST (depuis du code js/jq de la page)

                    ou soit lors d'un appel à ton php par le navigateur qui demande la page avec en parametre sur l'url

                    l'information nommée "pseudo" 

                    Va falloir que tu revoies la façon dont est envoyée la "donnée" "pseudo" depuis le front-end vers ton back-end

                    Et puis pour l'après je peux déjà te dire qu'une requette SQL avec paramètre ne se monte pas comme tu l'as écrit.

                    Ca ce prépare une requete sql avec paramètre....

                    -
                    Edité par Mon nom est God ; phil God 17 novembre 2017 à 5:39:54

                    • Partager sur Facebook
                    • Partager sur Twitter
                    J'échange des connaissances. Si je les donnais, je n'en aurais plus
                      17 novembre 2017 à 10:49:20

                      bonjour,

                      le code n'est pas posté en entier et ma cellule "pseudo" est bien déclaré dans mon form...

                      dans mon cas je souhaites qu'il compare le pseudo choisis par un user lors de son inscription avec les pseudos deja inscrit.

                      Ducoup je sais pas si jdois passer par l'url pour renvoyer l'info???? je suis pommé.

                      je laisse mon code entier

                      <!DOCTYPE html>
                      <html>
                          <head>
                              <meta charset="UTF-8">
                              <meta http-equiv="X-UA-Compatible" content="IE=edge">
                              <meta name="viewport" content="width=device-width, initial-scale=1">
                              <title>Le mini-chat / Accueil</title>
                              <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
                              <link href="css/style_01.css"  rel="stylesheet" type="text/css" media="all">
                          </head>
                          <body>
                              <div class="container">
                                  <h1 class="row">forum de greg</h1>
                                  <h3 class="row">Inscription :</h3>
                                  
                                  
                                  <div class="row">
                                      <form class="form-horizontal col-md-12" method="post" action="pages/forum_post.php">
                                          
                                          
                                          <div class="form-group form-group-lg">
                                              <label for="pseudo" class="col-sm-2 control-label">Pseudo : </label>
                                              <div class="col-sm-10 focus"> 
                                                  <input class="form-control" <?php
                                                      
                                                      if (isset($_COOKIE['pseudo'])) {
                                                          $cookie_pseudo = htmlspecialchars(strip_tags($_COOKIE['pseudo']));
                                                          echo 'value="' . $cookie_pseudo . '"';
                                                      }
                                                      ?> type="text" name="pseudo" id="pseudo" placeholder="Ton pseudo" autofocus required />
                                              </div>
                                          </div>
                                          
                                          <div class="form-group form-group-lg">
                                              <label for="pass" class="col-sm-2 control-label">Mot de passe : </label>
                                              <div class="col-sm-10 focus"> 
                                                  <input class="form-control" type="password" name="pass" id="pass" placeholder="Ton mot de passe" autofocus required />
                                              </div>
                                          </div>
                      
                                          </div>
                                          
                                          <div class="form-group form-group-lg">
                                              <label for="confirmation" class="col-sm-2 control-label">retapez votre mot de passe : </label>
                                              <div class="col-sm-10 focus"> 
                                                  <input class="form-control" type="password" name="confirmation" id="confirmation" placeholder="Confirmation de ton mot de passe" autofocus required />
                                              </div>
                                          </div>
                      
                                          <div class="form-group form-group-lg">
                                              <label for="email" class="col-sm-2 control-label">adresse email : </label>
                                              <div class="col-sm-10 focus"> 
                                                  <input class="form-control" type="text" name="email" id="pass1" placeholder="Ton adesse mail" autofocus required />
                                              </div>
                                          </div>
                                          
                                          <button type="submit" class="btn btn-default btn-lg pull-right clearfix">s'inscrire</button>
                                          <div class="clearfix"></div>
                                      </form>
                                  </div>
                      
                                  <?php
                                   include '/configuration/configurationPDO.php';
                      
                                      $pseudo = $_POST['pseudo'];
                                       
                                      function existePseudo($pseudo) global $bdd;
                                      { 
                                        $sql = "SELECT 1 FROM membres WHERE pseudo = '$pseudo'";
                                       
                                        $res = $bdd->query($sql);
                                       $row = $res->fetch();
                                       
                                       return !empty($row);  
                                       }
                       
                                      if(existePseudo($pseudo))
                                      {          
                                      ?>
                      
                                      <p>Pseudo déjà utilisé !</p>
                      
                                       <?php
                                       }
                                        
                                       elseif(!empty($_POST['pseudo']) AND !empty($_POST['pass']) AND !empty($_POST['confirmation']) AND !empty($_POST['email']) AND $_POST['pass'] == $_POST['confirmation'])
                                       {
                                          $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, email, date_inscription) VALUES (?, ?, ?, NOW())');
                                          $req->execute(array($_POST['pseudo'], $_POST['pass'], $_POST['email']));
                                      ?>
                                         <p>Bienvenue <?php echo htmlspecialchars($_POST['pseudo']); ?> ! </p>
                                      <?php
                                        }
                                        
                                       else
                                       {
                                       ?>
                                          <p> Merci de bien remplir tous les champs ou d'avoir un mot de passe correspondant dans les deux champs </p>
                                      <?php
                                       }
                                  }  
                                  
                                   ?>
                                              
                                  <?php
                                  if (isset($_POST['email']))
                                  {
                                      $_POST['email'] = htmlspecialchars($_POST['email']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
                      
                                      if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']))
                                      {
                                          echo 'L\'adresse ' . $_POST['email'] . ' est <strong>valide</strong> !';
                                      }
                                      else
                                      {
                                          echo 'L\'adresse ' . $_POST['email'] . ' n\'est pas valide, recommencez !';
                                      }
                                  }
                                  ?>
                                  
                      
                      
                      
                               
                      
                      
                      
                      
                      



                      -
                      Edité par GregoireRabiller 17 novembre 2017 à 11:22:04

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Greg.
                        17 novembre 2017 à 11:38:44

                        Hein ? c'est ça le code ?

                        Pas étonnant que cela ne marche pas.

                        Il y a gé&nération de la page (la partie html)

                        puis du code php de controle.

                        Ca ne va pas du tout.

                        Il faut séparer cela en deux :

                        1/ Tu fais ta page html que si tu n'a pas $pseudo de défini

                        2/ Si pseudo est défini tu ne fais pas la page mais tes controles

                        3/ si cas 2/ tu renvoies une réponse ok / ko et message adapté au client pour un affichage

                        Cela donnerais (dans un 1er temps) un truc comme ça (pas testé) :

                        <?php 
                        if (!isset($$_POST['pseudo']){?>
                        <!DOCTYPE html>
                        <html>
                            <head>
                                <meta charset="UTF-8">
                                <meta http-equiv="X-UA-Compatible" content="IE=edge">
                                <meta name="viewport" content="width=device-width, initial-scale=1">
                                <title>Le mini-chat / Accueil</title>
                                <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
                                <link href="css/style_01.css"  rel="stylesheet" type="text/css" media="all">
                            </head>
                            <body>
                                <div class="container">
                                    <h1 class="row">forum de greg</h1>
                                    <h3 class="row">Inscription :</h3>
                                     
                                     
                                    <div class="row">
                                        <form class="form-horizontal col-md-12" method="post" action="pages/forum_post.php">
                                             
                                             
                                            <div class="form-group form-group-lg">
                                                <label for="pseudo" class="col-sm-2 control-label">Pseudo : </label>
                                                <div class="col-sm-10 focus">
                                                    <input class="form-control" <?php
                                                         
                                                        if (isset($_COOKIE['pseudo'])) {
                                                            $cookie_pseudo = htmlspecialchars(strip_tags($_COOKIE['pseudo']));
                                                            echo 'value="' . $cookie_pseudo . '"';
                                                        }
                                                        ?> type="text" name="pseudo" id="pseudo" placeholder="Ton pseudo" autofocus required />
                                                </div>
                                            </div>
                                             
                                            <div class="form-group form-group-lg">
                                                <label for="pass" class="col-sm-2 control-label">Mot de passe : </label>
                                                <div class="col-sm-10 focus">
                                                    <input class="form-control" type="password" name="pass" id="pass" placeholder="Ton mot de passe" autofocus required />
                                                </div>
                                            </div>
                         
                                            </div>
                                             
                                            <div class="form-group form-group-lg">
                                                <label for="confirmation" class="col-sm-2 control-label">retapez votre mot de passe : </label>
                                                <div class="col-sm-10 focus">
                                                    <input class="form-control" type="password" name="confirmation" id="confirmation" placeholder="Confirmation de ton mot de passe" autofocus required />
                                                </div>
                                            </div>
                         
                                            <div class="form-group form-group-lg">
                                                <label for="email" class="col-sm-2 control-label">adresse email : </label>
                                                <div class="col-sm-10 focus">
                                                    <input class="form-control" type="text" name="email" id="pass1" placeholder="Ton adesse mail" autofocus required />
                                                </div>
                                            </div>
                                             
                                            <button type="submit" class="btn btn-default btn-lg pull-right clearfix">s'inscrire</button>
                                            <div class="clearfix"></div>
                                        </form>
                                    </div>
                        <?php			
                        exit(0);
                        } 
                        
                                     include '/configuration/configurationPDO.php';
                         
                                        $pseudo = $_POST['pseudo'];
                                          
                                        function existePseudo($pseudo) global $bdd;
                                        { 
                                          $sql = "SELECT 1 FROM membres WHERE pseudo = '$pseudo'";
                                          
                                          $res = $bdd->query($sql);
                                         $row = $res->fetch();
                                          
                                         return !empty($row);  
                                         }
                          
                                        if(existePseudo($pseudo))
                                        {          
                                        ?>
                         
                                        <p>Pseudo déjà utilisé !</p>
                         
                                         <?php
                                         }
                                           
                                         elseif(!empty($_POST['pseudo']) AND !empty($_POST['pass']) AND !empty($_POST['confirmation']) AND !empty($_POST['email']) AND $_POST['pass'] == $_POST['confirmation'])
                                         {
                                            $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, email, date_inscription) VALUES (?, ?, ?, NOW())');
                                            $req->execute(array($_POST['pseudo'], $_POST['pass'], $_POST['email']));
                                        ?>
                                           <p>Bienvenue <?php echo htmlspecialchars($_POST['pseudo']); ?> ! </p>
                                        <?php
                                          }
                                           
                                         else
                                         {
                                         ?>
                                            <p> Merci de bien remplir tous les champs ou d'avoir un mot de passe correspondant dans les deux champs </p>
                                        <?php
                                         }
                                    }  
                                     
                                     ?>
                                                 
                                    <?php
                                    if (isset($_POST['email']))
                                    {
                                        $_POST['email'] = htmlspecialchars($_POST['email']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
                         
                                        if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']))
                                        {
                                            echo 'L\'adresse ' . $_POST['email'] . ' est <strong>valide</strong> !';
                                        }
                                        else
                                        {
                                            echo 'L\'adresse ' . $_POST['email'] . ' n\'est pas valide, recommencez !';
                                        }
                                    }
                                    ?>



                        -
                        Edité par Mon nom est God ; phil God 17 novembre 2017 à 11:42:22

                        • Partager sur Facebook
                        • Partager sur Twitter
                        J'échange des connaissances. Si je les donnais, je n'en aurais plus
                          17 novembre 2017 à 13:55:44

                          je n'ai pas compris 2).

                          C'est un formulaire d'inscription donc il doit bien voir la page pour s'inscrire non ? la seul verif que je veux faire c'est si son pseudo qu'il a choisis n'est pas deja dans ma base SQL, et si tous les champs d'inscription sont bien remplis.

                          ducoup j'ai modifié mon code mais il me manque une partie ou je me melange, je bug, la totale.... en gros c'est si mon nouveau user valide son inscription alors verifiez qu'il n'y ai pas de doublon de pseudo, qu'il ai bien rempli tous les champs, que son mot de passe et ca confirmation son identique et que son adresse mail respecte bien les criteres.

                          si oui validez et inscrire dans SQL sinon affichez les messages d'erreur.

                          <!DOCTYPE html>
                          <html>
                              <head>
                                  <meta charset="UTF-8">
                                  <meta http-equiv="X-UA-Compatible" content="IE=edge">
                                  <meta name="viewport" content="width=device-width, initial-scale=1">
                                  <title>Forum de greg/ Accueil</title>
                                  <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
                                  <link href="css/style_01.css"  rel="stylesheet" type="text/css" media="all">
                              </head>
                              <body>
                                  <div class="container">
                                      <h1 class="row">forum de greg</h1>
                                      <h3 class="row">Inscription :</h3>
                                      
                                      <!-- Formulaire de saisie -->
                                      <div class="row">
                                          <form class="form-horizontal col-md-12" method="post" action="pages/forum_post.php">
                                              
                                              <!-- Champ de saisie texte une ligne -->
                                              <div class="form-group form-group-lg">
                                                  <label for="pseudo" class="col-sm-2 control-label">Pseudo : </label>
                                                  <div class="col-sm-10 focus"> 
                                                      <input class="form-control" <?php
                                                          /*
                                                           * si un pseudo existe dans le cookie,
                                                           * alors renseigne automatiquement la valeur du champ pseudo
                                                           * implicitement, si le cookie n'est pas détecté,
                                                           * la valeur du champ n'est pas renseignée
                                                           */
                                                          if (isset($_COOKIE['pseudo'])) {
                                                              $cookie_pseudo = htmlspecialchars(strip_tags($_COOKIE['pseudo']));
                                                              echo 'value="' . $cookie_pseudo . '"';
                                                          }
                                                          ?> type="text" name="pseudo" id="pseudo" placeholder="Ton pseudo" autofocus required />
                                                  </div>
                                              </div>
                                              
                                              <div class="form-group form-group-lg">
                                                  <label for="pass" class="col-sm-2 control-label">Mot de passe : </label>
                                                  <div class="col-sm-10 focus"> 
                                                      <input class="form-control" type="password" name="pass" id="pass" placeholder="Ton mot de passe" autofocus required />
                                                  </div>
                                              </div>
                          
                                              </div>
                                              
                                              <div class="form-group form-group-lg">
                                                  <label for="confirmation" class="col-sm-2 control-label">retapez votre mot de passe : </label>
                                                  <div class="col-sm-10 focus"> 
                                                      <input class="form-control" type="password" name="confirmation" id="confirmation" placeholder="Confirmation de ton mot de passe" autofocus required />
                                                  </div>
                                              </div>
                          
                                              <div class="form-group form-group-lg">
                                                  <label for="email" class="col-sm-2 control-label">adresse email : </label>
                                                  <div class="col-sm-10 focus"> 
                                                      <input class="form-control" type="text" name="email" id="pass1" placeholder="Ton adesse mail" autofocus required />
                                                  </div>
                                              </div>
                                              
                                              <button type="submit" class="btn btn-default btn-lg pull-right clearfix">s'inscrire</button>
                                              <div class="clearfix"></div>
                                          </form>
                                      </div>
                          
                                      <?php
                                       include '/configuration/configurationPDO.php';
                          
                                       if(ISSET($_POST['submit']))
                          			{
                          
                          
                          			//On créer les variables
                          			$pseudo =   $_POST['pseudo'];
                          			$pass = $_POST['pass'];
                                      $confirmation = $_POST['confirmation'];
                          			$pass_hache = password_hash($_POST['pass'], PASSWORD_DEFAULT);
                                      $email = $_POST['email'];
                          
                                      }
                                      // Insertion
                                      $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, email, date_inscription) VALUES(:pseudo, :pass, :email, CURDATE())');
                                      $req->execute(array(
                                          'pseudo' => $pseudo,
                                          'pass' => $pass_hache,
                                          'email' => $email));
                                      
                                     elseif(!empty($_POST['pseudo']) AND !empty($_POST['pass']) AND !empty($_POST['confirmation']) AND !empty($_POST['email']) AND $_POST['pass'] == $_POST['confirmation']);
                                      $_POST['pseudo'] = htmlspecialchars($_POST['pseudo']);
                                      $_POST['email'] = htmlspecialchars($_POST['email']); 
                            
                                          if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']))
                                          {
                                              echo 'L\'adresse ' . $_POST['email'] . 'est <strong>valide</strong> !';
                                          }
                                          else
                                          {
                                              echo 'L\'adresse ' . $_POST['email'] . 'n\'est pas valide, recommencez !';
                                          }
                                       ?>
                          
                          
                          
                          
                              </body>
                          </html>





                          -
                          Edité par GregoireRabiller 17 novembre 2017 à 14:22:02

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Greg.
                            17 novembre 2017 à 14:33:33

                            Ton code devrait te renvoyer des erreurs claires :

                            if

                            {

                            ...

                            }

                            elseif

                            {

                            ...

                            }

                            Tu ne devrais rien avoir entre l'accolade de fermeture du if et le elseif.

                            De plus tu ne vérifies pas si le pseudo est déjà utilisé. Et encore, les vérifications doivent se faire avant l'insertion, pas après, non ?

                            • Partager sur Facebook
                            • Partager sur Twitter
                              17 novembre 2017 à 15:50:17

                              oui c'est ce qu'il me manquait.... 

                              j'avais écrit

                              <!DOCTYPE html>
                              <html>
                                  <head>
                                      <meta charset="UTF-8">
                                      <meta http-equiv="X-UA-Compatible" content="IE=edge">
                                      <meta name="viewport" content="width=device-width, initial-scale=1">
                                      <title>Forum de greg/ Accueil</title>
                                      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
                                      <link href="css/style_01.css"  rel="stylesheet" type="text/css" media="all">
                                  </head>
                                  <body>
                                      <div class="container">
                                          <h1 class="row">forum de greg</h1>
                                          <h3 class="row">Inscription :</h3>
                                          
                                          <!-- Formulaire de saisie -->
                                          <div class="row">
                                              <form class="form-horizontal col-md-12" method="post" action="pages/forum_post.php">
                                                  
                                                  <!-- Champ de saisie texte une ligne -->
                                                  <div class="form-group form-group-lg">
                                                      <label for="pseudo" class="col-sm-2 control-label">Pseudo : </label>
                                                      <div class="col-sm-10 focus"> 
                                                          <input class="form-control" <?php
                                                              /*
                                                               * si un pseudo existe dans le cookie,
                                                               * alors renseigne automatiquement la valeur du champ pseudo
                                                               * implicitement, si le cookie n'est pas détecté,
                                                               * la valeur du champ n'est pas renseignée
                                                               */
                                                              if (isset($_COOKIE['pseudo'])) {
                                                                  $cookie_pseudo = htmlspecialchars(strip_tags($_COOKIE['pseudo']));
                                                                  echo 'value="' . $cookie_pseudo . '"';
                                                              }
                                                              ?> type="text" name="pseudo" id="pseudo" placeholder="Ton pseudo" autofocus required />
                                                      </div>
                                                  </div>
                                                  
                                                  <div class="form-group form-group-lg">
                                                      <label for="pass" class="col-sm-2 control-label">Mot de passe : </label>
                                                      <div class="col-sm-10 focus"> 
                                                          <input class="form-control" type="password" name="pass" id="pass" placeholder="Ton mot de passe" autofocus required />
                                                      </div>
                                                  </div>
                              
                                                  </div>
                                                  
                                                  <div class="form-group form-group-lg">
                                                      <label for="confirmation" class="col-sm-2 control-label">retapez votre mot de passe : </label>
                                                      <div class="col-sm-10 focus"> 
                                                          <input class="form-control" type="password" name="confirmation" id="confirmation" placeholder="Confirmation de ton mot de passe" autofocus required />
                                                      </div>
                                                  </div>
                              
                                                  <div class="form-group form-group-lg">
                                                      <label for="email" class="col-sm-2 control-label">adresse email : </label>
                                                      <div class="col-sm-10 focus"> 
                                                          <input class="form-control" type="text" name="email" id="pass1" placeholder="Ton adesse mail" autofocus required />
                                                      </div>
                                                  </div>
                                                  
                                                  <button type="submit" class="btn btn-default btn-lg pull-right clearfix">s'inscrire</button>
                                                  <div class="clearfix"></div>
                                              </form>
                                          </div>
                              
                                          <?php
                                           include '/configuration/configurationPDO.php';
                              
                                           if(ISSET($_POST['submit']))
                                          {
                              			//On créer les variables
                              			$pseudo =   $_POST['pseudo'];
                              			$pass = $_POST['pass'];
                                          $confirmation = $_POST['confirmation'];
                              			$pass_hache = password_hash($_POST['pass'], PASSWORD_DEFAULT);
                                          $email = $_POST['email'];
                              
                                          }
                              
                                         elseif
                                          (!empty($_POST['pseudo']) AND !empty($_POST['pass']) AND !empty($_POST['confirmation']) AND !empty($_POST['email']) AND $_POST['pass'] == $_POST['confirmation']);
                                          {
                                          $_POST['pseudo'] = htmlspecialchars($_POST['pseudo']);
                              
                                           function existePseudo($pseudo)
                                          {   
                                              global $bdd;
                                               
                                              $sql = "SELECT 1 FROM membres WHERE pseudo = '$pseudo'";
                                               
                                              $res = $bdd->query($sql);
                                              $row = $res->fetch();
                                               
                                              return !empty($row);
                                          }  
                                  
                                              if(existePseudo($pseudo) )
                                              {          
                                               echo <p>Pseudo déjà utilisé !</p> 
                                              }
                                          }
                                          $_POST['email'] = htmlspecialchars($_POST['email']); 
                                          
                                              if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']))
                                              {
                                                  echo 'L\'adresse ' . $_POST['email'] . 'est <strong>valide</strong> !';
                                              }
                                              else
                                              {
                                                  echo 'L\'adresse ' . $_POST['email'] . 'n\'est pas valide, recommencez !';
                                              }
                                          // Insertion
                                          $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, email, date_inscription) VALUES(:pseudo, :pass, :email, CURDATE())');
                                          $req->execute(array(
                                              'pseudo' => $pseudo,
                                              'pass' => $pass_hache,
                                              'email' => $email));
                              
                                           ?>
                              
                              
                              
                              
                                  </body>
                              </html>


                              ca mais j 'ai des erreurs: 

                              -
                              Edité par GregoireRabiller 17 novembre 2017 à 15:53:25

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Greg.
                                17 novembre 2017 à 17:07:28

                                Sauf que l'on ne fout pas tout le code comme u n bourain dans un seul et même script php du coup on ne s'y retrouve pas
                                • Partager sur Facebook
                                • Partager sur Twitter
                                J'échange des connaissances. Si je les donnais, je n'en aurais plus
                                  17 novembre 2017 à 17:33:01

                                  oui j ai cru comprendre mais il y a une semaine de ca je savait meme pas ce que voulais dire PHP....

                                  du coup je viens de mettre mon formulaire sur un fichier formulaire.php et un fichier inscription.php maintenant je dois apprendre a faire communiquer les 2....

                                  -
                                  Edité par GregoireRabiller 17 novembre 2017 à 18:12:51

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Greg.
                                    17 novembre 2017 à 23:18:04

                                    GregoireRabiller a écrit:

                                    oui j ai cru comprendre mais il y a une semaine de ca je savait meme pas ce que voulais dire PHP....

                                    du coup je viens de mettre mon formulaire sur un fichier formulaire.php et un fichier inscription.php maintenant je dois apprendre a faire communiquer les 2....

                                    -
                                    Edité par GregoireRabiller il y a environ 5 heures

                                    je pense fortement que ta voulue allez trop vite et que tu as louper des étapes dans ton apprentissage car se que tu nous montre est un niveau un peu élevé donc si tu c'est pas faire communiquer 2 fichier entre eux et que tes capable d'effectuer des requêtes a une base de données c'est que ta forcément sauté des étapes.

                                    c'est mon avis bien sûr /;

                                    -
                                    Edité par NicolasDreux 17 novembre 2017 à 23:21:46

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      18 novembre 2017 à 5:58:42

                                      gregoire :

                                      regarde sur le site de php comment fonctionne l'instruction include_once ou include ou use cela te permettra de relier un fichier php dans un autre sans  que celui inclu ne s'exécute lors de l'inclusion (seule la déclaration / définition des classe, / functions est réalisé pour que le code qui l'intégre puisse y accéder)

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      J'échange des connaissances. Si je les donnais, je n'en aurais plus
                                        18 novembre 2017 à 11:38:23

                                        oui oui je disait par la qu'il fallait que je triture les méninges (j ai pas encore les réflexes je dois parcourir mes cours a chaque fois)

                                        je fait deja un include pour mon fichier PDO. et la j ai mis ca pour dans mon form: method="post" action="pages/registrer.php">

                                        donc si j ai bien compris tous ce que le formulaire prend comme info l'envoie sur registrer.php.

                                        le pb maintenant c'est que quand je remplie le formulaire j'arrive bien sur l'url:..../registrer.php mais j'ai une page blanche.

                                        ducoup j'ai retiré toutes les verifs et je fait le strick minimum mais toujours rien.

                                        nouveau code: 

                                                  <?php
                                        //Connexion à la BDD
                                          include '/configuration/configurationPDO.php';
                                          
                                            if(ISSET($_POST['submit']))
                                        {
                                        
                                        //On créer les variables
                                        $pseudo =   $_POST['pseudo'];
                                        $pass = $_POST['pass'];
                                        $confirmation = $_POST['confirmation'];
                                        $pass_hache = password_hash($_POST['pass'], PASSWORD_DEFAULT);
                                        $email = $_POST['email'];
                                        }
                                        $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, email, date_inscription) VALUES (:pseudo, :pass, email, CURDATE())');
                                        $req->execute(array("pseudo" => $pseudo, "pass" => $pass_hache,"email" => $email));
                                        if(!empty($pseudo) && !empty($pass))
                                        {
                                        }else{
                                        ?>
                                        <b>Pseudo ou MDP vide !</b>
                                        <?php
                                        }
                                        if(empty($pseudo) && empty($pass))
                                        {
                                        }else
                                        {
                                        header('Location: login.php');
                                        }
                                        }
                                        
                                        ?>



                                        -
                                        Edité par GregoireRabiller 18 novembre 2017 à 11:40:21

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Greg.
                                          18 novembre 2017 à 11:43:28

                                          Il faudrait que tu remontres ton formulaire si tu l'as corrigé, parce que la je ne vois pas de bouton qui s'appelle submit.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            18 novembre 2017 à 13:29:53

                                            voici le formulairre

                                            <!DOCTYPE html>
                                            <html>
                                                <head>
                                                    <meta charset="UTF-8">
                                                    <meta http-equiv="X-UA-Compatible" content="IE=edge">
                                                    <meta name="viewport" content="width=device-width, initial-scale=1">
                                                    <title>Forum de greg/ Accueil</title>
                                                    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
                                                    <link href="css/style_01.css"  rel="stylesheet" type="text/css" media="all">
                                                </head>
                                                <body>
                                                    <div class="container">
                                                        <h1 class="row">forum de greg</h1>
                                                        <h3 class="row">Inscription :</h3>
                                                        
                                                        <!-- Formulaire de saisie -->
                                                        <div class="row">
                                                            <form class="form-horizontal col-md-12" method="post" action="pages/registrer.php">
                                                                
                                                                <!-- Champ de saisie texte une ligne -->
                                                                <div class="form-group form-group-lg">
                                                                    <label for="pseudo" class="col-sm-2 control-label">Pseudo : </label>
                                                                    <div class="col-sm-10 focus"> 
                                                                        <input class="form-control" <?php
                                                                            /*
                                                                             * si un pseudo existe dans le cookie,
                                                                             * alors renseigne automatiquement la valeur du champ pseudo
                                                                             * implicitement, si le cookie n'est pas détecté,
                                                                             * la valeur du champ n'est pas renseignée
                                                                             */
                                                                            if (isset($_COOKIE['pseudo'])) {
                                                                                $cookie_pseudo = htmlspecialchars(strip_tags($_COOKIE['pseudo']));
                                                                                echo 'value="' . $cookie_pseudo . '"';
                                                                            }
                                                                            ?> type="text" name="pseudo" id="pseudo" placeholder="Ton pseudo" autofocus required />
                                                                    </div>
                                                                </div>
                                                                
                                                                <div class="form-group form-group-lg">
                                                                    <label for="pass" class="col-sm-2 control-label">Mot de passe : </label>
                                                                    <div class="col-sm-10 focus"> 
                                                                        <input class="form-control" type="password" name="pass" id="pass" placeholder="Ton mot de passe" autofocus required />
                                                                    </div>
                                                                </div>
                                            
                                                                </div>
                                                                
                                                                <div class="form-group form-group-lg">
                                                                    <label for="confirmation" class="col-sm-2 control-label">retapez votre mot de passe : </label>
                                                                    <div class="col-sm-10 focus"> 
                                                                        <input class="form-control" type="password" name="confirmation" id="confirmation" placeholder="Confirmation de ton mot de passe" autofocus required />
                                                                    </div>
                                                                </div>
                                            
                                                                <div class="form-group form-group-lg">
                                                                    <label for="email" class="col-sm-2 control-label">adresse email : </label>
                                                                    <div class="col-sm-10 focus"> 
                                                                        <input class="form-control" type="text" name="email" id="pass1" placeholder="Ton adesse mail" autofocus required />
                                                                    </div>
                                                                </div>
                                                                
                                                                <button type="submit" name="submit" class="btn btn-default btn-lg pull-right clearfix">s'inscrire</button>
                                                                <div class="clearfix"></div>
                                                            </form>
                                                        </div>
                                            
                                                </body>
                                            </html>



                                            -
                                            Edité par GregoireRabiller 18 novembre 2017 à 15:23:13

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Greg.
                                              18 novembre 2017 à 15:02:42

                                              Bon, ben je ne vois toujours pas de bouton "submit" (avec le nom submit).
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                18 novembre 2017 à 15:21:32

                                                j'ai oublier name='submit" du coup j ai corrigé.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Greg.

                                                mon code s'affiche sur ma page web

                                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                • Editeur
                                                • Markdown