Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer les données d'un formulaire

afficher les données dans une autre page

Sujet résolu
    16 janvier 2018 à 12:10:48

    Bonjour, je sais que beaucoup de forum ont été créé sur ce sujet, mais aucun n'arrive à résoudre mon problème.

    Voila mon problème,

    J'ai une page nommée formulaire.php :

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
    	<link rel="stylesheet" href="style.css" />
        <title>Inscription</title>
    </head>
    
    <body>
    
        <form id="maForm" method="POST" action="EnregistrerInscription.php">
    <center>
    		<span class="form_col">Sexe :</span>
            <label><input name="Sexe" type="radio" value="H" />Homme</label>
            <label><input name="Sexe" type="radio" value="F" />Femme</label>
            <span class="tooltip">Sélectionnez votre sexe</span>
            <br /><br />
    
            <label class="form_col" for="Nom">Nom :</label>
            <input name="Nom" id="Nom" type="text" />
            <span class="tooltip">Votre nom doit contenir au moins 2 caractères.</span>
            <br /><br />
    
            <label class="form_col" for="Prenom">Prénom :</label>
            <input name="Prenom" id="Prenom" type="text" />
    
            <span class="tooltip">Votre prénom doit contenir au moins 2 caractères.</span>
            <br /><br />
    
            <label class="form_col" for="age">Âge :</label>
            <input name="age" id="age" type="text" />
            <span class="tooltip">Votre àge doit être compris entre 5 et 100 ans.</span>
            <br /><br />
    
            <label class="form_col" for="login">Pseudo :</label>
            <input name="login" id="login" type="text" />
            <span class="tooltip">Votre pseudo ne peut pas faire moins de 4 caractères</span>
            <br /><br />
    
            <label class="form_col" for="mdp1">Mot de passe :</label>
            <input name="mdp1" id="mdp1" type="password" />
            <span class="tooltip">Votre mot de passe ne doit pas faire moins de 6 caractères</span>
    
            <br /><br />
    
            <label class="form_col" for="mdp2">Confirmer mot de passe :</label>
            <input name="mdp2" id="mdp2" type="password" />
            <span class="tooltip">Votre mot de passe de confirmation doit être identique à celui d'origine</span>
            <br /><br />
    		
    		<label class="form_col" for="NumTel">Num de téléphone :</label>
            <input name="NumTel" id="NumTel" type="text" />
            <span class="tooltip">Votre numéro de téléphone est incorrect</span>
            <br /><br />
    
            <span class="form_col"></span>
            <input type="submit" class="button" value="Valider" /> <input type="reset" class="button" value="Tout effacer" />
    </center>
        </form>
    
    	
    <script type="text/javascript" src="aideFormulaire.js"></script>
    </body>
    
    
    </html>
    
    

    et ma page EnregistrerInscription.php qui me permet de récupérer les valeurs que j'ai entré dans le formulaire pour ensuite les afficher dans une phrase :

    <html>
    	<head> 
    	<meta charset="utf-8">
    	</head>
     <body class="bost">
    <br /><br /><center>	
      <?php
    		try
    {
        $pdo = new PDO('mysql:host=localhost;dbname=easydocteur', 'root', '');
        $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // ERRMODE_WARNING | ERRMODE_EXCEPTION | ERRMODE_SILENT
    } 
    catch(Exception $e)
     {
        echo "Impossible d'accéder à la base de données SQLite : ".$e->getMessage();
        die();
    }
    		$Nom=isset($_POST['Nom']) ? $_POST['Nom'] : null;
    		$Prenom= isset($_POST['Prenom']) ? $_POST['Prenom'] : null;
    		$Sexe=isset($_POST['Sexe']) ? $_POST['Sexe'] : null;
    		$Age=isset($_POST['age']) ? $_POST['age'] : null;
    		$NumTel=isset($_POST['NumTel']) ? $_POST['NumTel'] : null;
    		$Pseudo=isset($_POST['login']) ? $_POST['login'] : null;
    		$Mdp=isset($_POST['mdp1']) ? $_POST['mdp1'] : null;
    		$MdpConfirm=isset($_POST['mp2']) ? $_POST['mdp2'] : null;
    
    		echo "Bonjour $Prenom $Nom<br />";
    				echo "Votre inscription a bien été effectué !<br /><br />";
    							
    			
    			// Requête d'insertion des valeurs dans la table CLIENT
    				$reqC= $pdo->exec("INSERT INTO client (IdClient, NomClient, PrenomClient, SexeClient, Age, NuMTelClient, MotDePasseClient) VALUES('', '$Nom', '$Prenom', '$Sexe', '$Age', '$NumTel', '$Mdp')");
    	
    			// Exécution de la requête
    				if($reqC==True)
    					{
    						echo "Vos coordonnées ont été enregistrées.<br /><br />"; 
    					}
    				else
    					{
    						echo "Echec de la requête ".$reqC;
    					}
    
    						
    				echo "Merci de votre inscription.<br /><br />";
    				echo "A bientôt sur le Net !<br /><br />";
    				echo "<a href='index.php'><h3>Retour à l'accueil</h3></a>";	
    				
    	?>
    
     </body>
    </html>

    Seulement après le echo m'affiche seulement "Bonjour" mais pas le contenu des variables après.

    Je n'arrive pas à trouvé où se situe ma faute, pourriez vous m'aider s'il vous plaît ?

    Merci.


    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2018 à 13:15:46

      Bonjour,

      Tu peux faire un var_dump de ton $_POST pour voir si les données sont bien envoyées. Je pense que tes variable sont vide, tu peux aussi les tester avec var_dump. 

      Si tu vois qu'elles sont vide, le problème vient d'ailleurs. Si tu n'arrives pas à trouver la solution, faire un tour sur ce tuto et lire les parties qui te concerne peut t'aider.

      https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql

      • Partager sur Facebook
      • Partager sur Twitter
      Si tout est relatif, alors la relativité aussi, donc l'absolue existe.
        16 janvier 2018 à 13:41:43

        En effet cela me renvoi "NULL". Je vais regarder le tuto merci de ton aide. :)
        • Partager sur Facebook
        • Partager sur Twitter
          16 janvier 2018 à 13:45:13

          Comment se présente l'arborescence de ton répertoire projet?

          Peux être que le problème vient de là.

          • Partager sur Facebook
          • Partager sur Twitter
          Si tout est relatif, alors la relativité aussi, donc l'absolue existe.
            16 janvier 2018 à 13:51:14

            avec var_dump($Nom) cela me renvoi "Null" et avec var_dump($_POST) cela me renvoi array(0).

            Tous mes fichiers php sont situés à la racine de mon répertoire projet.

            • Partager sur Facebook
            • Partager sur Twitter
              16 janvier 2018 à 13:52:45

              Je ne vois pas trop pourquoi ça ne fonctionne pas. En même temps je ne suis pas un expert.

              Mais dans ton input text peut être que si tu mettais input type="text" en premier ça pourrait peut être changer quelque chose, si c'est pas ça bonne chance :)

              Tu peux aussi vérifier le nom des fichiers des fichiers correspondent bien entre eux, ça m'ait arriver de me tromper après 3 vérifications.

              Ah oui, dans l'exemple il y a d'abord l'action puis la method, je sais pas si ça peut changer quelque chose.

              -
              Edité par YusufYildirim 16 janvier 2018 à 14:02:00

              • Partager sur Facebook
              • Partager sur Twitter
              Si tout est relatif, alors la relativité aussi, donc l'absolue existe.
                16 janvier 2018 à 14:01:17

                je pense qu'il y a un problème car quand je clique sur le bouton valider du formulaire je suis rediriger versEnregistrerInscription.php grâce à mon script js avec la ligne suivante :

                window.location.replace("EnregistrerInscription.php");

                mais si j'enlève cette ligne de mon script, l'action de ma form ne me redirige pas vers EnregistrerInscription.php, mais ça c'est plutôt un problème html non ?

                j'ai changé en mettant l'action avant la méthode mais toujours pareil.

                -
                Edité par NabilCHLYAH 16 janvier 2018 à 14:12:40

                • Partager sur Facebook
                • Partager sur Twitter
                  16 janvier 2018 à 14:24:53

                  la redirection doit être faite quand tu cliques sur le bouton submit grace à l'action que tu as mis dans ton form. Si tu rediriges manuellement vers la page qui doit afficher tes valeurs, c'est normal que ton tableau $_POST soit vide.

                  Ici, j'ai fait un mini formulaire qui fonctionne. Voici la page 1

                  <form class="" action="test1.php" method="post">
                    <input type="text" name="titre" value="" placeholder="remplir ici">
                    <input type="submit" name="" value="envoi">
                  </form>
                  

                  Et la page deux dont le nom est test1.php

                  <?php
                  
                  $titre = $_POST['titre'];
                  
                  echo "Son titre est $titre";
                  

                  Et ça fonctionne bien. Les deux sont à la racine du répertoire projet


                  -
                  Edité par YusufYildirim 16 janvier 2018 à 14:32:01

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Si tout est relatif, alors la relativité aussi, donc l'absolue existe.
                    16 janvier 2018 à 14:33:02

                    je viens de retirer l'id dans ma form et tout marche correctement mes variables reçoit bien les données entrées dans le formulaire et les affiche c'est donc l'id qui posait problème. Du coup j'ai une fonction js qui ne fonctionne plus je vais essayer de régler ce problème.

                    Merci :)

                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 janvier 2018 à 14:34:32

                      De rien , tu peux mettre cette discussion en résolu alors :)
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Si tout est relatif, alors la relativité aussi, donc l'absolue existe.

                      Récupérer les données d'un formulaire

                      × 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