Partage
  • Partager sur Facebook
  • Partager sur Twitter

Clé étrangère via un formulaire

    20 janvier 2017 à 11:56:01

    Bonjour,

    Je suis actuellement en train de coder une application pour un lycée et depuis quelques jour je suis embêté par un problème que je n'arrive pas à résoudre et que je ne trouve pas sur les forums.

    Voici mes tables:

    InfoDemande(id_Demande, id_Lieu#, id_Raison#, id_Utilisateur#, ...........)

    LieuAcces(id_Lieu, nom_Lieu)

    Raison(id_Raison, nom_Raison)

    Utilisateurs (id_Utilisateur,  login_utilisateur .......)

    Dans mon formulaire j'affiche les lieux et les raisons sous forme de listes déroulantes.

    Exemple pour les lieux

    <p>Lieu d'accès: </p> <SELECT name="nom_Lieu" size="1">
    
    			<?php 
    				$Lieu = $bdd->query('SELECT * FROM LieuAcces');
    				while ($donnees = $Lieu -> fetch())
    			{
    			?>
    					<option value="<?php echo $donnees['id_Lieu']; ?>"> <?php echo $donnees['id_Lieu']."- ".$donnees['nom_Lieu']; ?> </option>
    			<?php 
    			}
    			?>


    J'ai ensuite fais ma requête pour introduire les éléments du formulaire dans ma base de donnée:

    $req = $bdd->prepare('INSERT INTO InfoDemande(id_Lieu, id_Raison, id_Utilisateur, nom_Beneficiaire, prenom_Beneficiaire, adresse_Mail_Beneficiaire,date_Debut,date_Fin,commentaire) 
    	              					  VALUES(:id_Lieu, :id_Raison, :id_Utilisateur,:nom_Beneficiaire, :prenom_Beneficiaire, :adresse_Mail_Beneficiaire, :date_Debut, :date_Fin, :commentaire)');
    
    	            $req->execute(array(  
    	            'id_Lieu'=>$donnees['id_Lieu'],
    	            'id_Raison'=>$donnees['id_Raison'],	
    	            'id_Utilisateur' => $id_Utilisateur, //Je récupère mon $idUtilisateur grace à session
    	            'nom_Beneficiaire' => $nom_Beneficiaire,
    	            'prenom_Beneficiaire' => $prenom_Beneficiaire,
    	            'adresse_Mail_Beneficiaire' => $adresse_Mail_Beneficiaire,
    	            'date_Debut' => $date_Debut,
    	            'date_Fin' => $date_Fin,
    		    'commentaire' => $commentaire


    Lorsque je valide le formulaire rien ne se stock dans ma table InfoDemande je ne comprends pas.

    Merci pour votre aide

    • Partager sur Facebook
    • Partager sur Twitter
      20 janvier 2017 à 12:12:23

      Salut,

      as-tu activé les exception (voir le lien dans ma signature) PDO ? car PDO est muet par défaut.

      Si tu récupère id_Utilisateur avec les sessions autant mettre $_SESSION['id_utilisateur'], ce sera plus clair pour la prochain ;)

      ++

      -
      Edité par christouphe 20 janvier 2017 à 12:13:53

      • Partager sur Facebook
      • Partager sur Twitter
        20 janvier 2017 à 12:56:43

        <?php
        session_start();
        $bdd = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp',
        array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
        ?>
        Je viens de le rajouter maintenant il m'affiche une page blanche lorsque je valide

        -
        Edité par AntoineBandarra 20 janvier 2017 à 12:59:06

        • Partager sur Facebook
        • Partager sur Twitter
          20 janvier 2017 à 13:02:28

          ton script entier s'il te plait car là ce sont 2 morceaux

          ++

          • Partager sur Facebook
          • Partager sur Twitter
            20 janvier 2017 à 13:12:46

            <?php
            session_start();
            $bdd = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp',
            array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
            
            
            	if(isset($_POST['bouton'])) //Si l'utilisateur valide
            	{
            	$nom_Beneficiaire = htmlspecialchars(trim($_POST['nom_Beneficiaire']));
            	$prenom_Beneficiaire = htmlspecialchars(trim($_POST['prenom_Beneficiaire']));
            	$adresse_Mail_Beneficiaire = htmlspecialchars(trim($_POST['adresse_Mail_Beneficiaire']));
            	$nom_Raison = htmlspecialchars(trim($_POST['nom_Raison']));
            	$date_Debut = htmlspecialchars(trim($_POST['date_Debut']));
            	$date_Fin = htmlspecialchars(trim($_POST['date_Fin']));
            	$commentaire = htmlspecialchars(trim($_POST['commentaire']));
            
            	
            
            	// if($login_utilisateur&&$adresse_Mail_utilisateur&&$nom_Beneficiaire&&$prenom_Beneficiaire&&$classe_Beneficiaire&&$adresse_Mail_Beneficiaire&&$date_Debut&&$date_Fin&&$commentaire)
            	//    {
            
            
            
            	            $req = $bdd->prepare('INSERT INTO InfoDemande(id_Lieu, id_Raison, id_Utilisateur, nom_Beneficiaire, prenom_Beneficiaire, adresse_Mail_Beneficiaire,date_Debut,date_Fin,commentaire) 
            	              					  VALUES(:id_Lieu, :id_Raison, :id_Utilisateur,:nom_Beneficiaire, :prenom_Beneficiaire, :adresse_Mail_Beneficiaire, :date_Debut, :date_Fin, :commentaire)');
            
            	            $req->execute(array(  
            	            'id_Lieu'=>$donnees['id_Lieu'],
            	            'id_Raison'=>$donnees['id_Raison'],	
            	            'id_Utilisateur' => $_SESSION['id_Utilisateur'],
            	            'nom_Beneficiaire' => $nom_Beneficiaire,
            	            'prenom_Beneficiaire' => $prenom_Beneficiaire,
            	            'adresse_Mail_Beneficiaire' => $adresse_Mail_Beneficiaire,
            	            'date_Debut' => $date_Debut,
            	            'date_Fin' => $date_Fin,
            				'commentaire' => $commentaire
            	             ));
            
            	            $_SESSION['nom_Beneficiaire']=$nom_Beneficiaire;
            	            $_SESSION['prenom_Beneficiaire']=$prenom_Beneficiaire;
            	            $_SESSION['adresse_Mail_Beneficiaire']=$adresse_Mail_Beneficiaire;
            	            $_SESSION['date_Debut']=$date_Debut;
            	            $_SESSION['date_Fin']=$date_Fin;
            	            $_SESSION['commentaire']=$commentaire;
            
            
                 			//Envoi mail
            
            	            $destinataire = 'antoinebandarra@gmail.com';
            			    $sujet = 'asgard';
            				$message = "test";
            				$entete  = 'From: '.$_SESSION['login_utilisateur']."\r\n".
                           	'Reply-To: '.$_SESSION['login_utilisateur']."\r\n".
                           	'X-Mailer: PHP/' . phpversion();
            				mail($destinataire, $sujet, $message, $entete);
            
            
            	//    }else $messageErreur ='Veuillez saisir tous les champs';
            	}
            ?> 
            <html>
            	<head>
            		<meta charset="utf-8"/>
            		<link href="CSS/formulaire.css"/>
            		<title> FORMULAIRE </title>
            	</head>
            
            	<body>
            	    <?php
                	include('menu.php');
                	?>
            
            		<form action="#" method="POST" class="formulaire" >
            			<h1>Formulaire</h1>
            
            				<HR width=200 align=left>
            
            			<h3>Information du bénéficiaire</h3>
            				<p>Nom: <input type="text" name="nom_Beneficiaire"> <br></p>
            				<p>Prenom: <input type="text" name="prenom_Beneficiaire"> <br></p>
            				<p>Adresse mail : <input type="text" name="adresse_Mail_Beneficiaire"> <br> <br></p>
            
            				<HR width=200 align=left>
            
            			<h3>informations générales</h3>
            			<p>Lieu d'accès: </p> <SELECT name="nom_Lieu" size="1">
            
            			<?php 
            				$Lieu = $bdd->query('SELECT * FROM LieuAcces');
            				while ($donnees = $Lieu -> fetch())
            			{
            			?>
            					<option value="<?php echo $donnees['id_Lieu']; ?>"> <?php echo $donnees['id_Lieu']."- ".$donnees['nom_Lieu']; ?> </option>
            			<?php 
            			}
            			?>
            				</SELECT>
            
            			<p>Raison: </p> <SELECT name="nom_Raison" size="1">
            
            			<?php 
            				$Raison = $bdd->query('SELECT * FROM Raison');
            				while ($donnees = $Raison -> fetch())
            			{
            			?>
            					<option value="<?php echo $donnees['id_Raison']; ?>"> <?php echo $donnees['id_Raison']."- ".$donnees['nom_Raison']; ?> </option>
            			<?php 
            			}
            			?>
            				</SELECT>
            
            				<p>Date de début: <input type="text" name="date_Debut" placeholder="ex: 11/01/2017"> <br></p>
            				<p>Date de fin: <input type="text" name="date_Fin" placeholder="ex: 11/01/2017"> <br></p>
            				<p>Commentaire: <input type="text" name="commentaire"> <br></p>
            				<p><input type="submit" name="bouton" value="valider"> <br></p>
            		        
            		        <?php 
            				    if(isset($messageErreur)){
            			        	echo $messageErreur;
            			       		}
            	           ?>
            
            		</form>
            
            	</body>
            </html>
            Voici
            • Partager sur Facebook
            • Partager sur Twitter
              20 janvier 2017 à 13:29:29

              Alors première erreur: il faut un try / catch pour entourer la connexion

              2eme erreur , tu utilises $donnees alors qu'elle n'est pas encore définie dans le premier execute => PDO exception non trappée.

              et je n'ai pas fini de lire ;)

              ++

              EDIT:

              <?php
              	session_start();
              	try {
              		$req = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
              	} catch (PDOException $pdoE) {
              		echo 'Erreur connexion BD';
              	}
               
              	// chargement des données
              	$req = 'SELECT * FROM Raison';
              	$stmt = $bdd->query($req);
              	$donnees = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
              	
                  if(isset($_POST['bouton'])) //Si l'utilisateur valide
                  {
                  	//htmlspecialchars pour l'aaffichage cela n'a rien a faire là
              	    $nom_Beneficiaire = htmlspecialchars(trim($_POST['nom_Beneficiaire']));
              	    $prenom_Beneficiaire = htmlspecialchars(trim($_POST['prenom_Beneficiaire']));
              	    $adresse_Mail_Beneficiaire = htmlspecialchars(trim($_POST['adresse_Mail_Beneficiaire']));
              	    $nom_Raison = htmlspecialchars(trim($_POST['nom_Raison']));
              	    $date_Debut = htmlspecialchars(trim($_POST['date_Debut']));
              	    $date_Fin = htmlspecialchars(trim($_POST['date_Fin']));
              	    $commentaire = htmlspecialchars(trim($_POST['commentaire']));
               
              	    $req = 'INSERT INTO InfoDemande(id_Lieu, id_Raison, id_Utilisateur, nom_Beneficiaire, prenom_Beneficiaire, adresse_Mail_Beneficiaire,date_Debut,date_Fin,commentaire)';
              	    $req .= ' VALUES ';
              	    $req .= '(:id_Lieu, :id_Raison, :id_Utilisateur,:nom_Beneficiaire, :prenom_Beneficiaire, :adresse_Mail_Beneficiaire, :date_Debut, :date_Fin, :commentaire)';
               
              	    //prepoaration
              	    $stmt = $bdd->prepare($req);
              	    
              	    //Bind des valeurs
              	    $stmt->binValue('id_Lieu',$donnees['id_Lieu']);
              	    $stmt->binValue('id_Raison',$donnees['id_Raison']);
              	    $stmt->binValue('id_Utilisateur',$_SESSION['id_Utilisateur']);
              	    $stmt->binValue('nom_Beneficiaire',$nom_Beneficiaire);
              	    $stmt->binValue('prenom_Beneficiaire',$prenom_Beneficiaire);
              	    $stmt->binValue('adresse_Mail_Beneficiaire',$adresse_Mail_Beneficiaire);
              	    $stmt->binValue('date_Debut',$date_Debut);
              	    $stmt->binValue('date_Fin',$date_Fin);
              	    $stmt->binValue('commentaire',$commentaire);
              	    
              	    if (!$stmt->execute()) {
              	    	echo 'Erreur insertion donnees';
              	    } else {
              	    	echo 'Donnees inserees';
              	    	$_SESSION['nom_Beneficiaire']=$nom_Beneficiaire;
              	    	$_SESSION['prenom_Beneficiaire']=$prenom_Beneficiaire;
              	    	$_SESSION['adresse_Mail_Beneficiaire']=$adresse_Mail_Beneficiaire;
              	    	$_SESSION['date_Debut']=$date_Debut;
              	    	$_SESSION['date_Fin']=$date_Fin;
              	    	$_SESSION['commentaire']=$commentaire;
              	    	
              	    	//Envoi mail	    	
              	    	$destinataire = 'antoinebandarra@gmail.com';
              	    	$sujet = 'asgard';
              	    	$message = "test";
              	    	$entete  = 'From: '.$_SESSION['login_utilisateur']."\r\n".
              	    			'Reply-To: '.$_SESSION['login_utilisateur']."\r\n".
              	    			'X-Mailer: PHP/' . phpversion();
              	    	mail($destinataire, $sujet, $message, $entete);
              	    }
                  }
              ?> 
              <html>
                  <head>
                      <meta charset="utf-8"/>
                      <link href="CSS/formulaire.css"/>
                      <title> FORMULAIRE </title>
                  </head>
               
                  <body>
                      <?php
                      include('menu.php');
                      ?>
               
                      <form action="#" method="POST" class="formulaire" >
                          <h1>Formulaire</h1>
               
                              <HR width=200 align=left>
               
                          <h3>Information du bénéficiaire</h3>
                              <p>Nom: <input type="text" name="nom_Beneficiaire"> <br></p>
                              <p>Prenom: <input type="text" name="prenom_Beneficiaire"> <br></p>
                              <p>Adresse mail : <input type="text" name="adresse_Mail_Beneficiaire"> <br> <br></p>
               
                              <HR width=200 align=left>
               
                          <h3>informations générales</h3>
                          <p>Lieu d'accès: </p> <SELECT name="nom_Lieu" size="1">
               
                          <?php 
                          //A tester 
                          foreach ($donnees AS $donnee)
                          {
                          ?>
                                  <option value="<?php echo $donnee['id_Lieu']; ?>"> <?php echo $donnee['id_Lieu']."- ".$donnee['nom_Lieu']; ?> </option>
                          <?php 
                          }
                          ?>
                              </SELECT>
               
                          <p>Raison: </p> <SELECT name="nom_Raison" size="1">
               
                          <?php 
                          //A tester 
                              foreach ($donnees AS $donnee)
                          {
                          ?>
                                  <option value="<?php echo $donnee['id_Raison']; ?>"> <?php echo $donnee['id_Raison']."- ".$donnee['nom_Raison']; ?> </option>
                          <?php 
                          }
                          ?>
                              </SELECT>
               
                              <p>Date de début: <input type="text" name="date_Debut" placeholder="ex: 11/01/2017"> <br></p>
                              <p>Date de fin: <input type="text" name="date_Fin" placeholder="ex: 11/01/2017"> <br></p>
                              <p>Commentaire: <input type="text" name="commentaire"> <br></p>
                              <p><input type="submit" name="bouton" value="valider"> <br></p>
                               
                              <?php
                              	//inutile
              //                     if(isset($messageErreur)){
              //                         echo $messageErreur;
              //                         }
                             ?>
                      </form>
                  </body>
              <

              A tester comme toujours ;)

              -
              Edité par christouphe 20 janvier 2017 à 13:36:22

              • Partager sur Facebook
              • Partager sur Twitter
                20 janvier 2017 à 14:06:14

                Merci pour votre temps,

                Après avoir testé:

                -Les lieux ne s'affichent plus.

                -Page blanche lors de la confirmation.

                -Les informations ne se stocks toujours pas dans la base de données.

                • Partager sur Facebook
                • Partager sur Twitter
                  20 janvier 2017 à 14:13:36

                  on va faire pas-à-pas ;)

                  est-ce que le tableau s'affiche et copie colle le nous:

                  <?php
                      session_start();
                      try {
                          $req = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
                      } catch (PDOException $pdoE) {
                          echo 'Erreur connexion BD';
                      }
                    
                      // chargement des données
                      $req = 'SELECT * FROM Raison';
                      $stmt = $bdd->query($req);
                      $donnees = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                      echo '<pre>'.print_r($donnees,true).'</pre>';
                      echo '<br>Fin';
                      exit;
                      
                      if(isset($_POST['bouton'])) //Si l'utilisateur valide
                      {
                          //htmlspecialchars pour l'aaffichage cela n'a rien a faire là
                          $nom_Beneficiaire = htmlspecialchars(trim($_POST['nom_Beneficiaire']));
                          $prenom_Beneficiaire = htmlspecialchars(trim($_POST['prenom_Beneficiaire']));
                          $adresse_Mail_Beneficiaire = htmlspecialchars(trim($_POST['adresse_Mail_Beneficiaire']));
                          $nom_Raison = htmlspecialchars(trim($_POST['nom_Raison']));
                          $date_Debut = htmlspecialchars(trim($_POST['date_Debut']));
                          $date_Fin = htmlspecialchars(trim($_POST['date_Fin']));
                          $commentaire = htmlspecialchars(trim($_POST['commentaire']));
                    
                          $req = 'INSERT INTO InfoDemande(id_Lieu, id_Raison, id_Utilisateur, nom_Beneficiaire, prenom_Beneficiaire, adresse_Mail_Beneficiaire,date_Debut,date_Fin,commentaire)';
                          $req .= ' VALUES ';
                          $req .= '(:id_Lieu, :id_Raison, :id_Utilisateur,:nom_Beneficiaire, :prenom_Beneficiaire, :adresse_Mail_Beneficiaire, :date_Debut, :date_Fin, :commentaire)';
                    
                          //prepoaration
                          $stmt = $bdd->prepare($req);
                           
                          //Bind des valeurs
                          $stmt->binValue('id_Lieu',$donnees['id_Lieu']);
                          $stmt->binValue('id_Raison',$donnees['id_Raison']);
                          $stmt->binValue('id_Utilisateur',$_SESSION['id_Utilisateur']);
                          $stmt->binValue('nom_Beneficiaire',$nom_Beneficiaire);
                          $stmt->binValue('prenom_Beneficiaire',$prenom_Beneficiaire);
                          $stmt->binValue('adresse_Mail_Beneficiaire',$adresse_Mail_Beneficiaire);
                          $stmt->binValue('date_Debut',$date_Debut);
                          $stmt->binValue('date_Fin',$date_Fin);
                          $stmt->binValue('commentaire',$commentaire);
                           
                          if (!$stmt->execute()) {
                              echo 'Erreur insertion donnees';
                          } else {
                              echo 'Donnees inserees';
                              $_SESSION['nom_Beneficiaire']=$nom_Beneficiaire;
                              $_SESSION['prenom_Beneficiaire']=$prenom_Beneficiaire;
                              $_SESSION['adresse_Mail_Beneficiaire']=$adresse_Mail_Beneficiaire;
                              $_SESSION['date_Debut']=$date_Debut;
                              $_SESSION['date_Fin']=$date_Fin;
                              $_SESSION['commentaire']=$commentaire;
                               
                              //Envoi mail            
                              $destinataire = 'antoinebandarra@gmail.com';
                              $sujet = 'asgard';
                              $message = "test";
                              $entete  = 'From: '.$_SESSION['login_utilisateur']."\r\n".
                                      'Reply-To: '.$_SESSION['login_utilisateur']."\r\n".
                                      'X-Mailer: PHP/' . phpversion();
                              mail($destinataire, $sujet, $message, $entete);
                          }
                      }
                  ?> 
                  <html>
                      <head>
                          <meta charset="utf-8"/>
                          <link href="CSS/formulaire.css"/>
                          <title> FORMULAIRE </title>
                      </head>
                    
                      <body>
                          <?php
                          include('menu.php');
                          ?>
                    
                          <form action="#" method="POST" class="formulaire" >
                              <h1>Formulaire</h1>
                    
                                  <HR width=200 align=left>
                    
                              <h3>Information du bénéficiaire</h3>
                                  <p>Nom: <input type="text" name="nom_Beneficiaire"> <br></p>
                                  <p>Prenom: <input type="text" name="prenom_Beneficiaire"> <br></p>
                                  <p>Adresse mail : <input type="text" name="adresse_Mail_Beneficiaire"> <br> <br></p>
                    
                                  <HR width=200 align=left>
                    
                              <h3>informations générales</h3>
                              <p>Lieu d'accès: </p> <SELECT name="nom_Lieu" size="1">
                    
                              <?php 
                              //A tester 
                              foreach ($donnees AS $donnee)
                              {
                              ?>
                                      <option value="<?php echo $donnee['id_Lieu']; ?>"> <?php echo $donnee['id_Lieu']."- ".$donnee['nom_Lieu']; ?> </option>
                              <?php 
                              }
                              ?>
                                  </SELECT>
                    
                              <p>Raison: </p> <SELECT name="nom_Raison" size="1">
                    
                              <?php 
                              //A tester 
                                  foreach ($donnees AS $donnee)
                              {
                              ?>
                                      <option value="<?php echo $donnee['id_Raison']; ?>"> <?php echo $donnee['id_Raison']."- ".$donnee['nom_Raison']; ?> </option>
                              <?php 
                              }
                              ?>
                                  </SELECT>
                    
                                  <p>Date de début: <input type="text" name="date_Debut" placeholder="ex: 11/01/2017"> <br></p>
                                  <p>Date de fin: <input type="text" name="date_Fin" placeholder="ex: 11/01/2017"> <br></p>
                                  <p>Commentaire: <input type="text" name="commentaire"> <br></p>
                                  <p><input type="submit" name="bouton" value="valider"> <br></p>
                                    
                                  <?php
                                      //inutile
                  //                     if(isset($messageErreur)){
                  //                         echo $messageErreur;
                  //                         }
                                 ?>
                          </form>
                      </body>
                  </html>



                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 janvier 2017 à 14:24:04

                    D'accord, j'obtiens page blanche il y aurait une erreur à la ligne 11
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 janvier 2017 à 14:27:01

                      corrige:

                      ?php
                          session_start();
                          try {
                              $bdd = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
                          } catch (PDOException $pdoE) {
                              echo 'Erreur connexion BD';
                          }
                         
                          // chargement des données
                          $req = 'SELECT * FROM Raison';
                          $stmt = $bdd->query($req);
                          $donnees = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                          echo '<pre>'.print_r($donnees,true).'</pre>';
                          echo '<br>Fin';
                          exit;

                      C'était le nom de la connexion ... Je pense que si tu vire le exit cela devrait fonctionner ^^

                      ++

                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 janvier 2017 à 14:34:58

                        J'obtiens ceci

                        -
                        Edité par AntoineBandarra 20 janvier 2017 à 14:36:04

                        • Partager sur Facebook
                        • Partager sur Twitter
                          20 janvier 2017 à 15:05:35

                          Avec les bonnes tables ^^

                          <?php
                              session_start();
                              try {
                                  $req = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
                              } catch (PDOException $pdoE) {
                                  echo 'Erreur connexion BD';
                              }
                            
                              // chargement des données
                              $req = 'SELECT * FROM Raison';
                              $stmt = $bdd->query($req);
                              $donneesRaison = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                          	$stmt->closeCursor();
                          	
                              $req = 'SELECT * FROM LieuAcces';
                              $stmt = $bdd->query($req);
                              $donneesLieu = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                          	$stmt->closeCursor();
                              
                              if(isset($_POST['bouton'])) //Si l'utilisateur valide
                              {
                                  //htmlspecialchars pour l'aaffichage cela n'a rien a faire là
                                  $nom_Beneficiaire = htmlspecialchars(trim($_POST['nom_Beneficiaire']));
                                  $prenom_Beneficiaire = htmlspecialchars(trim($_POST['prenom_Beneficiaire']));
                                  $adresse_Mail_Beneficiaire = htmlspecialchars(trim($_POST['adresse_Mail_Beneficiaire']));
                                  $nom_Raison = htmlspecialchars(trim($_POST['nom_Raison']));
                                  $date_Debut = htmlspecialchars(trim($_POST['date_Debut']));
                                  $date_Fin = htmlspecialchars(trim($_POST['date_Fin']));
                                  $commentaire = htmlspecialchars(trim($_POST['commentaire']));
                            
                                  $req = 'INSERT INTO InfoDemande(id_Lieu, id_Raison, id_Utilisateur, nom_Beneficiaire, prenom_Beneficiaire, adresse_Mail_Beneficiaire,date_Debut,date_Fin,commentaire)';
                                  $req .= ' VALUES ';
                                  $req .= '(:id_Lieu, :id_Raison, :id_Utilisateur,:nom_Beneficiaire, :prenom_Beneficiaire, :adresse_Mail_Beneficiaire, :date_Debut, :date_Fin, :commentaire)';
                            
                                  //prepoaration
                                  $stmt = $bdd->prepare($req);
                                   
                                  //Bind des valeurs
                                  $stmt->binValue('id_Lieu',$donnees['id_Lieu']);
                                  $stmt->binValue('id_Raison',$donnees['id_Raison']);
                                  $stmt->binValue('id_Utilisateur',$_SESSION['id_Utilisateur']);
                                  $stmt->binValue('nom_Beneficiaire',$nom_Beneficiaire);
                                  $stmt->binValue('prenom_Beneficiaire',$prenom_Beneficiaire);
                                  $stmt->binValue('adresse_Mail_Beneficiaire',$adresse_Mail_Beneficiaire);
                                  $stmt->binValue('date_Debut',$date_Debut);
                                  $stmt->binValue('date_Fin',$date_Fin);
                                  $stmt->binValue('commentaire',$commentaire);
                                   
                                  if (!$stmt->execute()) {
                                      echo 'Erreur insertion donnees';
                                  } else {
                                      echo 'Donnees inserees';
                                      $_SESSION['nom_Beneficiaire']=$nom_Beneficiaire;
                                      $_SESSION['prenom_Beneficiaire']=$prenom_Beneficiaire;
                                      $_SESSION['adresse_Mail_Beneficiaire']=$adresse_Mail_Beneficiaire;
                                      $_SESSION['date_Debut']=$date_Debut;
                                      $_SESSION['date_Fin']=$date_Fin;
                                      $_SESSION['commentaire']=$commentaire;
                                       
                                      //Envoi mail            
                                      $destinataire = 'antoinebandarra@gmail.com';
                                      $sujet = 'asgard';
                                      $message = "test";
                                      $entete  = 'From: '.$_SESSION['login_utilisateur']."\r\n".
                                              'Reply-To: '.$_SESSION['login_utilisateur']."\r\n".
                                              'X-Mailer: PHP/' . phpversion();
                                      mail($destinataire, $sujet, $message, $entete);
                                  }
                              }
                          ?> 
                          <html>
                              <head>
                                  <meta charset="utf-8"/>
                                  <link href="CSS/formulaire.css"/>
                                  <title> FORMULAIRE </title>
                              </head>
                            
                              <body>
                                  <?php
                                  include('menu.php');
                                  ?>
                            
                                  <form action="#" method="POST" class="formulaire" >
                                      <h1>Formulaire</h1>
                            
                                          <HR width=200 align=left>
                            
                                      <h3>Information du bénéficiaire</h3>
                                          <p>Nom: <input type="text" name="nom_Beneficiaire"> <br></p>
                                          <p>Prenom: <input type="text" name="prenom_Beneficiaire"> <br></p>
                                          <p>Adresse mail : <input type="text" name="adresse_Mail_Beneficiaire"> <br> <br></p>
                            
                                          <HR width=200 align=left>
                            
                                      <h3>informations générales</h3>
                                      <p>Lieu d'accès: </p> <SELECT name="nom_Lieu" size="1">
                            
                                      <?php 
                                      //A tester 
                                      foreach ($donneesLieu AS $donneeLieu)
                                      {
                                      ?>
                                              <option value="<?php echo $donneeLieu['id_Lieu']; ?>"> <?php echo $donneeLieu['id_Lieu']."- ".$donneeLieu['nom_Lieu']; ?> </option>
                                      <?php 
                                      }
                                      ?>
                                          </SELECT>
                            
                                      <p>Raison: </p> <SELECT name="nom_Raison" size="1">
                            
                                      <?php 
                                      //A tester 
                                          foreach ($donneesRaison AS $donneeRaison)
                                      {
                                      ?>
                                              <option value="<?php echo $donneeRaison['id_Raison']; ?>"> <?php echo $donneeRaison['id_Raison']."- ".$donneeRaison['nom_Raison']; ?> </option>
                                      <?php 
                                      }
                                      ?>
                                          </SELECT>
                            
                                          <p>Date de début: <input type="text" name="date_Debut" placeholder="ex: 11/01/2017"> <br></p>
                                          <p>Date de fin: <input type="text" name="date_Fin" placeholder="ex: 11/01/2017"> <br></p>
                                          <p>Commentaire: <input type="text" name="commentaire"> <br></p>
                                          <p><input type="submit" name="bouton" value="valider"> <br></p>
                                            
                                          <?php
                                              //inutile
                          //                     if(isset($messageErreur)){
                          //                         echo $messageErreur;
                          //                         }
                                         ?>
                                  </form>
                              </body>
                          </html>



                          • Partager sur Facebook
                          • Partager sur Twitter
                            20 janvier 2017 à 15:20:35

                            Ok, les lieux sont revenu :) Maintenant j'ai toujours page blanche lors de l'envoi du formulaire
                            • Partager sur Facebook
                            • Partager sur Twitter
                              20 janvier 2017 à 15:21:52

                              page blanche...

                              mets des echo avant les IF, dans les IF pour connaitre le chemin emprunté ^^

                              ++

                              • Partager sur Facebook
                              • Partager sur Twitter
                                20 janvier 2017 à 15:34:46

                                L'echo avant et dans le if de la ligne 20 s'affichent. Ce n'est pas le cas pour l'echo dans le if de la ligne 50
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  20 janvier 2017 à 15:36:35

                                  change

                                  <?php
                                      if(isset($_POST['bouton']))

                                  par

                                  <?php
                                      if(!empty($_POST))

                                  ++


                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    20 janvier 2017 à 15:41:46

                                    2 sec

                                    j'éditerai ce message

                                    ++

                                    EDIT:

                                    <?php
                                        session_start();
                                        try {
                                            $req = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
                                        } catch (PDOException $pdoE) {
                                            echo 'Erreur connexion BD';
                                        }
                                       
                                        // chargement des données
                                        echo '<br>1) Chargement donnee RAISON';
                                        $req = 'SELECT * FROM Raison';
                                        $stmt = $bdd->query($req);
                                        $donneesRaison = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                                        $stmt->closeCursor();
                                    
                                        echo '<br>2) Chargement donnee LIEU';
                                        $req = 'SELECT * FROM LieuAcces';
                                        $stmt = $bdd->query($req);
                                        $donneesLieu = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                                        $stmt->closeCursor();
                                    
                                        echo '<br>3) avant if (!empty($_POST))';
                                        if(!empty($_POST)) //Si l'utilisateur valide
                                        {
                                        	echo '<br>4) Dans if (!empty($_POST))';
                                            //htmlspecialchars pour l'aaffichage cela n'a rien a faire là
                                            $nom_Beneficiaire = htmlspecialchars(trim($_POST['nom_Beneficiaire']));
                                            $prenom_Beneficiaire = htmlspecialchars(trim($_POST['prenom_Beneficiaire']));
                                            $adresse_Mail_Beneficiaire = htmlspecialchars(trim($_POST['adresse_Mail_Beneficiaire']));
                                            $nom_Raison = htmlspecialchars(trim($_POST['nom_Raison']));
                                            $date_Debut = htmlspecialchars(trim($_POST['date_Debut']));
                                            $date_Fin = htmlspecialchars(trim($_POST['date_Fin']));
                                            $commentaire = htmlspecialchars(trim($_POST['commentaire']));
                                       
                                            $req = 'INSERT INTO InfoDemande(id_Lieu, id_Raison, id_Utilisateur, nom_Beneficiaire, prenom_Beneficiaire, adresse_Mail_Beneficiaire,date_Debut,date_Fin,commentaire)';
                                            $req .= ' VALUES ';
                                            $req .= '(:id_Lieu, :id_Raison, :id_Utilisateur,:nom_Beneficiaire, :prenom_Beneficiaire, :adresse_Mail_Beneficiaire, :date_Debut, :date_Fin, :commentaire)';
                                       
                                            echo '<br>5) req: '.$req;
                                            //prepoaration
                                            $stmt = $bdd->prepare($req);
                                            echo '<br>6) req preparee';
                                            //Bind des valeurs
                                            echo '<br>7) Bind des valeurs';
                                            $stmt->binValue('id_Lieu',$donnees['id_Lieu']);
                                            $stmt->binValue('id_Raison',$donnees['id_Raison']);
                                            $stmt->binValue('id_Utilisateur',$_SESSION['id_Utilisateur']);
                                            $stmt->binValue('nom_Beneficiaire',$nom_Beneficiaire);
                                            $stmt->binValue('prenom_Beneficiaire',$prenom_Beneficiaire);
                                            $stmt->binValue('adresse_Mail_Beneficiaire',$adresse_Mail_Beneficiaire);
                                            $stmt->binValue('date_Debut',$date_Debut);
                                            $stmt->binValue('date_Fin',$date_Fin);
                                            $stmt->binValue('commentaire',$commentaire);
                                    
                                            echo '<br>8) execute';
                                            if (!$stmt->execute()) {
                                            	echo '<br>9) execute KO';
                                                echo 'Erreur insertion donnees';
                                            } else {
                                            	echo '<br>9) execute OK';
                                                echo 'Donnees inserees';
                                                $_SESSION['nom_Beneficiaire']=$nom_Beneficiaire;
                                                $_SESSION['prenom_Beneficiaire']=$prenom_Beneficiaire;
                                                $_SESSION['adresse_Mail_Beneficiaire']=$adresse_Mail_Beneficiaire;
                                                $_SESSION['date_Debut']=$date_Debut;
                                                $_SESSION['date_Fin']=$date_Fin;
                                                $_SESSION['commentaire']=$commentaire;
                                                  
                                                //Envoi mail            
                                                $destinataire = 'antoinebandarra@gmail.com';
                                                $sujet = 'asgard';
                                                $message = "test";
                                                $entete  = 'From: '.$_SESSION['login_utilisateur']."\r\n".
                                                        'Reply-To: '.$_SESSION['login_utilisateur']."\r\n".
                                                        'X-Mailer: PHP/' . phpversion();
                                                mail($destinataire, $sujet, $message, $entete);
                                            }
                                        }
                                    ?> 
                                    <html>
                                        <head>
                                            <meta charset="utf-8"/>
                                            <link href="CSS/formulaire.css"/>
                                            <title> FORMULAIRE </title>
                                        </head>
                                       
                                        <body>
                                            <?php
                                            include('menu.php');
                                            ?>
                                       
                                            <form action="#" method="POST" class="formulaire" >
                                                <h1>Formulaire</h1>
                                       
                                                    <HR width=200 align=left>
                                       
                                                <h3>Information du bénéficiaire</h3>
                                                    <p>Nom: <input type="text" name="nom_Beneficiaire"> <br></p>
                                                    <p>Prenom: <input type="text" name="prenom_Beneficiaire"> <br></p>
                                                    <p>Adresse mail : <input type="text" name="adresse_Mail_Beneficiaire"> <br> <br></p>
                                       
                                                    <HR width=200 align=left>
                                       
                                                <h3>informations générales</h3>
                                                <p>Lieu d'accès: </p> <SELECT name="nom_Lieu" size="1">
                                       
                                                <?php 
                                                //A tester 
                                                foreach ($donneesLieu AS $donneeLieu)
                                                {
                                                ?>
                                                        <option value="<?php echo $donneeLieu['id_Lieu']; ?>"> <?php echo $donneeLieu['id_Lieu']."- ".$donneeLieu['nom_Lieu']; ?> </option>
                                                <?php 
                                                }
                                                ?>
                                                    </SELECT>
                                       
                                                <p>Raison: </p> <SELECT name="nom_Raison" size="1">
                                       
                                                <?php 
                                                //A tester 
                                                    foreach ($donneesRaison AS $donneeRaison)
                                                {
                                                ?>
                                                        <option value="<?php echo $donneeRaison['id_Raison']; ?>"> <?php echo $donneeRaison['id_Raison']."- ".$donneeRaison['nom_Raison']; ?> </option>
                                                <?php 
                                                }
                                                ?>
                                                    </SELECT>
                                       
                                                    <p>Date de début: <input type="text" name="date_Debut" placeholder="ex: 11/01/2017"> <br></p>
                                                    <p>Date de fin: <input type="text" name="date_Fin" placeholder="ex: 11/01/2017"> <br></p>
                                                    <p>Commentaire: <input type="text" name="commentaire"> <br></p>
                                                    <p><input type="submit" name="bouton" value="valider"> <br></p>
                                            </form>
                                        </body>
                                    </html>

                                    quel est le dernier numéro ?

                                    -
                                    Edité par christouphe 20 janvier 2017 à 15:45:42

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      20 janvier 2017 à 15:49:19

                                      J'ai le numéro 1 qui s'affiche
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        20 janvier 2017 à 15:54:39

                                        <?php
                                            session_start();
                                            try {
                                                $req = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
                                            } catch (PDOException $pdoE) {
                                                echo 'Erreur connexion BD';
                                            }
                                            
                                            // chargement des données
                                            echo '<br>1) Chargement donnee RAISON';
                                            $req = 'SELECT * FROM Raison';
                                            $stmt = $bdd->query($req);
                                            $donneesRaison = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                                        
                                         
                                            echo '<br>2) Chargement donnee LIEU';
                                            $req = 'SELECT * FROM LieuAcces';
                                            $stmt2 = $bdd->query($req);
                                            $donneesLieu = $stmt2->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                                        
                                         
                                            echo '<br>3) avant if (!empty($_POST))';
                                            if(!empty($_POST)) //Si l'utilisateur valide
                                            {
                                                echo '<br>4) Dans if (!empty($_POST))';
                                                //htmlspecialchars pour l'aaffichage cela n'a rien a faire là
                                                $nom_Beneficiaire = htmlspecialchars(trim($_POST['nom_Beneficiaire']));
                                                $prenom_Beneficiaire = htmlspecialchars(trim($_POST['prenom_Beneficiaire']));
                                                $adresse_Mail_Beneficiaire = htmlspecialchars(trim($_POST['adresse_Mail_Beneficiaire']));
                                                $nom_Raison = htmlspecialchars(trim($_POST['nom_Raison']));
                                                $date_Debut = htmlspecialchars(trim($_POST['date_Debut']));
                                                $date_Fin = htmlspecialchars(trim($_POST['date_Fin']));
                                                $commentaire = htmlspecialchars(trim($_POST['commentaire']));
                                            
                                                $req = 'INSERT INTO InfoDemande(id_Lieu, id_Raison, id_Utilisateur, nom_Beneficiaire, prenom_Beneficiaire, adresse_Mail_Beneficiaire,date_Debut,date_Fin,commentaire)';
                                                $req .= ' VALUES ';
                                                $req .= '(:id_Lieu, :id_Raison, :id_Utilisateur,:nom_Beneficiaire, :prenom_Beneficiaire, :adresse_Mail_Beneficiaire, :date_Debut, :date_Fin, :commentaire)';
                                            
                                                echo '<br>5) req: '.$req;
                                                //prepoaration
                                                $stmt = $bdd->prepare($req);
                                                echo '<br>6) req preparee';
                                                //Bind des valeurs
                                                echo '<br>7) Bind des valeurs';
                                                $stmt->binValue('id_Lieu',$donnees['id_Lieu']);
                                                $stmt->binValue('id_Raison',$donnees['id_Raison']);
                                                $stmt->binValue('id_Utilisateur',$_SESSION['id_Utilisateur']);
                                                $stmt->binValue('nom_Beneficiaire',$nom_Beneficiaire);
                                                $stmt->binValue('prenom_Beneficiaire',$prenom_Beneficiaire);
                                                $stmt->binValue('adresse_Mail_Beneficiaire',$adresse_Mail_Beneficiaire);
                                                $stmt->binValue('date_Debut',$date_Debut);
                                                $stmt->binValue('date_Fin',$date_Fin);
                                                $stmt->binValue('commentaire',$commentaire);
                                         
                                                echo '<br>8) execute';
                                                if (!$stmt->execute()) {
                                                    echo '<br>9) execute KO';
                                                    echo 'Erreur insertion donnees';
                                                } else {
                                                    echo '<br>9) execute OK';
                                                    echo 'Donnees inserees';
                                                    $_SESSION['nom_Beneficiaire']=$nom_Beneficiaire;
                                                    $_SESSION['prenom_Beneficiaire']=$prenom_Beneficiaire;
                                                    $_SESSION['adresse_Mail_Beneficiaire']=$adresse_Mail_Beneficiaire;
                                                    $_SESSION['date_Debut']=$date_Debut;
                                                    $_SESSION['date_Fin']=$date_Fin;
                                                    $_SESSION['commentaire']=$commentaire;
                                                       
                                                    //Envoi mail            
                                                    $destinataire = 'antoinebandarra@gmail.com';
                                                    $sujet = 'asgard';
                                                    $message = "test";
                                                    $entete  = 'From: '.$_SESSION['login_utilisateur']."\r\n".
                                                            'Reply-To: '.$_SESSION['login_utilisateur']."\r\n".
                                                            'X-Mailer: PHP/' . phpversion();
                                                    mail($destinataire, $sujet, $message, $entete);
                                                }
                                            }
                                        ?> 
                                        <html>
                                            <head>
                                                <meta charset="utf-8"/>
                                                <link href="CSS/formulaire.css"/>
                                                <title> FORMULAIRE </title>
                                            </head>
                                            
                                            <body>
                                                <?php
                                                include('menu.php');
                                                ?>
                                            
                                                <form action="#" method="POST" class="formulaire" >
                                                    <h1>Formulaire</h1>
                                            
                                                        <HR width=200 align=left>
                                            
                                                    <h3>Information du bénéficiaire</h3>
                                                        <p>Nom: <input type="text" name="nom_Beneficiaire"> <br></p>
                                                        <p>Prenom: <input type="text" name="prenom_Beneficiaire"> <br></p>
                                                        <p>Adresse mail : <input type="text" name="adresse_Mail_Beneficiaire"> <br> <br></p>
                                            
                                                        <HR width=200 align=left>
                                            
                                                    <h3>informations générales</h3>
                                                    <p>Lieu d'accès: </p> <SELECT name="nom_Lieu" size="1">
                                            
                                                    <?php 
                                                    //A tester 
                                                    foreach ($donneesLieu AS $donneeLieu)
                                                    {
                                                    ?>
                                                            <option value="<?php echo $donneeLieu['id_Lieu']; ?>"> <?php echo $donneeLieu['id_Lieu']."- ".$donneeLieu['nom_Lieu']; ?> </option>
                                                    <?php 
                                                    }
                                                    ?>
                                                        </SELECT>
                                            
                                                    <p>Raison: </p> <SELECT name="nom_Raison" size="1">
                                            
                                                    <?php 
                                                    //A tester 
                                                        foreach ($donneesRaison AS $donneeRaison)
                                                    {
                                                    ?>
                                                            <option value="<?php echo $donneeRaison['id_Raison']; ?>"> <?php echo $donneeRaison['id_Raison']."- ".$donneeRaison['nom_Raison']; ?> </option>
                                                    <?php 
                                                    }
                                                    ?>
                                                        </SELECT>
                                            
                                                        <p>Date de début: <input type="text" name="date_Debut" placeholder="ex: 11/01/2017"> <br></p>
                                                        <p>Date de fin: <input type="text" name="date_Fin" placeholder="ex: 11/01/2017"> <br></p>
                                                        <p>Commentaire: <input type="text" name="commentaire"> <br></p>
                                                        <p><input type="submit" name="bouton" value="valider"> <br></p>
                                                </form>
                                            </body>
                                        </html>
                                        j'ai viré le closecursor
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          20 janvier 2017 à 16:02:35

                                          ok on va faire bourrin...

                                          un gros try qui englobe tout...

                                          <?php
                                              session_start();
                                              try {
                                                  $req = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
                                                  
                                                  // chargement des données
                                                  echo '<br>1) Chargement donnee RAISON';
                                                  $req = 'SELECT * FROM Raison';
                                                  $stmt = $bdd->query($req);
                                                  $donneesRaison = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                                                  
                                                   
                                                  echo '<br>2) Chargement donnee LIEU';
                                                  $req = 'SELECT * FROM LieuAcces';
                                                  $stmt2 = $bdd->query($req);
                                                  $donneesLieu = $stmt2->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                                                  
                                                   
                                                  echo '<br>3) avant if (!empty($_POST))';
                                                  if(!empty($_POST)) //Si l'utilisateur valide
                                                  {
                                                  	echo '<br>4) Dans if (!empty($_POST))';
                                                  	//htmlspecialchars pour l'aaffichage cela n'a rien a faire là
                                                  	$nom_Beneficiaire = htmlspecialchars(trim($_POST['nom_Beneficiaire']));
                                                  	$prenom_Beneficiaire = htmlspecialchars(trim($_POST['prenom_Beneficiaire']));
                                                  	$adresse_Mail_Beneficiaire = htmlspecialchars(trim($_POST['adresse_Mail_Beneficiaire']));
                                                  	$nom_Raison = htmlspecialchars(trim($_POST['nom_Raison']));
                                                  	$date_Debut = htmlspecialchars(trim($_POST['date_Debut']));
                                                  	$date_Fin = htmlspecialchars(trim($_POST['date_Fin']));
                                                  	$commentaire = htmlspecialchars(trim($_POST['commentaire']));
                                                  
                                                  	$req = 'INSERT INTO InfoDemande(id_Lieu, id_Raison, id_Utilisateur, nom_Beneficiaire, prenom_Beneficiaire, adresse_Mail_Beneficiaire,date_Debut,date_Fin,commentaire)';
                                                  	$req .= ' VALUES ';
                                                  	$req .= '(:id_Lieu, :id_Raison, :id_Utilisateur,:nom_Beneficiaire, :prenom_Beneficiaire, :adresse_Mail_Beneficiaire, :date_Debut, :date_Fin, :commentaire)';
                                                  
                                                  	echo '<br>5) req: '.$req;
                                                  	//prepoaration
                                                  	$stmt = $bdd->prepare($req);
                                                  	echo '<br>6) req preparee';
                                                  	//Bind des valeurs
                                                  	echo '<br>7) Bind des valeurs';
                                                  	$stmt->binValue('id_Lieu',$donnees['id_Lieu']);
                                                  	$stmt->binValue('id_Raison',$donnees['id_Raison']);
                                                  	$stmt->binValue('id_Utilisateur',$_SESSION['id_Utilisateur']);
                                                  	$stmt->binValue('nom_Beneficiaire',$nom_Beneficiaire);
                                                  	$stmt->binValue('prenom_Beneficiaire',$prenom_Beneficiaire);
                                                  	$stmt->binValue('adresse_Mail_Beneficiaire',$adresse_Mail_Beneficiaire);
                                                  	$stmt->binValue('date_Debut',$date_Debut);
                                                  	$stmt->binValue('date_Fin',$date_Fin);
                                                  	$stmt->binValue('commentaire',$commentaire);
                                                  	 
                                                  	echo '<br>8) execute';
                                                  	if (!$stmt->execute()) {
                                                  		echo '<br>9) execute KO';
                                                  		echo 'Erreur insertion donnees';
                                                  	} else {
                                                  		echo '<br>9) execute OK';
                                                  		echo 'Donnees inserees';
                                                  		$_SESSION['nom_Beneficiaire']=$nom_Beneficiaire;
                                                  		$_SESSION['prenom_Beneficiaire']=$prenom_Beneficiaire;
                                                  		$_SESSION['adresse_Mail_Beneficiaire']=$adresse_Mail_Beneficiaire;
                                                  		$_SESSION['date_Debut']=$date_Debut;
                                                  		$_SESSION['date_Fin']=$date_Fin;
                                                  		$_SESSION['commentaire']=$commentaire;
                                                  		 
                                                  		//Envoi mail
                                                  		$destinataire = 'antoinebandarra@gmail.com';
                                                  		$sujet = 'asgard';
                                                  		$message = "test";
                                                  		$entete  = 'From: '.$_SESSION['login_utilisateur']."\r\n".
                                                  				'Reply-To: '.$_SESSION['login_utilisateur']."\r\n".
                                                  				'X-Mailer: PHP/' . phpversion();
                                                  		mail($destinataire, $sujet, $message, $entete);
                                                  	}
                                                  }
                                              } catch (PDOException $pdoE) {
                                                  echo 'Erreur connexion BD';
                                              }
                                          ?> 
                                          <html>
                                              <head>
                                                  <meta charset="utf-8"/>
                                                  <link href="CSS/formulaire.css"/>
                                                  <title> FORMULAIRE </title>
                                              </head>
                                               
                                              <body>
                                                  <?php
                                                  include('menu.php');
                                                  ?>
                                               
                                                  <form action="#" method="POST" class="formulaire" >
                                                      <h1>Formulaire</h1>
                                               
                                                          <HR width=200 align=left>
                                               
                                                      <h3>Information du bénéficiaire</h3>
                                                          <p>Nom: <input type="text" name="nom_Beneficiaire"> <br></p>
                                                          <p>Prenom: <input type="text" name="prenom_Beneficiaire"> <br></p>
                                                          <p>Adresse mail : <input type="text" name="adresse_Mail_Beneficiaire"> <br> <br></p>
                                               
                                                          <HR width=200 align=left>
                                               
                                                      <h3>informations générales</h3>
                                                      <p>Lieu d'accès: </p> <SELECT name="nom_Lieu" size="1">
                                               
                                                      <?php 
                                                      //A tester 
                                                      foreach ($donneesLieu AS $donneeLieu)
                                                      {
                                                      ?>
                                                              <option value="<?php echo $donneeLieu['id_Lieu']; ?>"> <?php echo $donneeLieu['id_Lieu']."- ".$donneeLieu['nom_Lieu']; ?> </option>
                                                      <?php 
                                                      }
                                                      ?>
                                                          </SELECT>
                                               
                                                      <p>Raison: </p> <SELECT name="nom_Raison" size="1">
                                               
                                                      <?php 
                                                      //A tester 
                                                          foreach ($donneesRaison AS $donneeRaison)
                                                      {
                                                      ?>
                                                              <option value="<?php echo $donneeRaison['id_Raison']; ?>"> <?php echo $donneeRaison['id_Raison']."- ".$donneeRaison['nom_Raison']; ?> </option>
                                                      <?php 
                                                      }
                                                      ?>
                                                          </SELECT>
                                               
                                                          <p>Date de début: <input type="text" name="date_Debut" placeholder="ex: 11/01/2017"> <br></p>
                                                          <p>Date de fin: <input type="text" name="date_Fin" placeholder="ex: 11/01/2017"> <br></p>
                                                          <p>Commentaire: <input type="text" name="commentaire"> <br></p>
                                                          <p><input type="submit" name="bouton" value="valider"> <br></p>
                                                  </form>
                                              </body>
                                          </html>



                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            20 janvier 2017 à 16:09:25

                                            Le numéro 1 persiste face à la méthode bourrin aha Putty m'indique qu'il y a une erreur à la ligne 9 si sa peux vous aider
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              20 janvier 2017 à 16:13:47

                                              bon ok...

                                              et là ??

                                              <?php
                                                  session_start();
                                                  try {
                                                      $req = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
                                                      
                                                      // chargement des données
                                                      echo '<br>1) Chargement donnee RAISON';
                                                      $req = 'SELECT * FROM Raison';
                                                      $stmt = $bdd->prepare($req);
                                                      if (!$stmt->execute()) {
                                                      	echo 'Erreur recup donnees RAISON';
                                                      	exit();
                                                      } else {
                                                      	$donneesRaison = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                                              	        echo '<br>2) Chargement donnee LIEU';
                                              	        $req = 'SELECT * FROM LieuAcces';
                                              	        $stmt2 = $bdd->prepare($req);
                                              	        if (!$stmt2->execute()) {
                                              	        	echo 'Erreur recup donnees LIEU';
                                                      	exit();
                                              	        } else {
                                              	        	$donneesLieu = $stmt2->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                                              	        	
                                              	        	echo '<br>3) avant if (!empty($_POST))';
                                              	        	if(!empty($_POST)) //Si l'utilisateur valide
                                              	        	{
                                              	        		echo '<br>4) Dans if (!empty($_POST))';
                                              	        		//htmlspecialchars pour l'aaffichage cela n'a rien a faire là
                                              	        		$nom_Beneficiaire = htmlspecialchars(trim($_POST['nom_Beneficiaire']));
                                              	        		$prenom_Beneficiaire = htmlspecialchars(trim($_POST['prenom_Beneficiaire']));
                                              	        		$adresse_Mail_Beneficiaire = htmlspecialchars(trim($_POST['adresse_Mail_Beneficiaire']));
                                              	        		$nom_Raison = htmlspecialchars(trim($_POST['nom_Raison']));
                                              	        		$date_Debut = htmlspecialchars(trim($_POST['date_Debut']));
                                              	        		$date_Fin = htmlspecialchars(trim($_POST['date_Fin']));
                                              	        		$commentaire = htmlspecialchars(trim($_POST['commentaire']));
                                              	        	
                                              	        		$req = 'INSERT INTO InfoDemande(id_Lieu, id_Raison, id_Utilisateur, nom_Beneficiaire, prenom_Beneficiaire, adresse_Mail_Beneficiaire,date_Debut,date_Fin,commentaire)';
                                              	        		$req .= ' VALUES ';
                                              	        		$req .= '(:id_Lieu, :id_Raison, :id_Utilisateur,:nom_Beneficiaire, :prenom_Beneficiaire, :adresse_Mail_Beneficiaire, :date_Debut, :date_Fin, :commentaire)';
                                              	        	
                                              	        		echo '<br>5) req: '.$req;
                                              	        		//prepoaration
                                              	        		$stmt = $bdd->prepare($req);
                                              	        		echo '<br>6) req preparee';
                                              	        		//Bind des valeurs
                                              	        		echo '<br>7) Bind des valeurs';
                                              	        		$stmt->binValue('id_Lieu',$donnees['id_Lieu']);
                                              	        		$stmt->binValue('id_Raison',$donnees['id_Raison']);
                                              	        		$stmt->binValue('id_Utilisateur',$_SESSION['id_Utilisateur']);
                                              	        		$stmt->binValue('nom_Beneficiaire',$nom_Beneficiaire);
                                              	        		$stmt->binValue('prenom_Beneficiaire',$prenom_Beneficiaire);
                                              	        		$stmt->binValue('adresse_Mail_Beneficiaire',$adresse_Mail_Beneficiaire);
                                              	        		$stmt->binValue('date_Debut',$date_Debut);
                                              	        		$stmt->binValue('date_Fin',$date_Fin);
                                              	        		$stmt->binValue('commentaire',$commentaire);
                                              	        	
                                              	        		echo '<br>8) execute';
                                              	        		if (!$stmt->execute()) {
                                              	        			echo '<br>9) execute KO';
                                              	        			echo 'Erreur insertion donnees';
                                              	        		} else {
                                              	        			echo '<br>9) execute OK';
                                              	        			echo 'Donnees inserees';
                                              	        			$_SESSION['nom_Beneficiaire']=$nom_Beneficiaire;
                                              	        			$_SESSION['prenom_Beneficiaire']=$prenom_Beneficiaire;
                                              	        			$_SESSION['adresse_Mail_Beneficiaire']=$adresse_Mail_Beneficiaire;
                                              	        			$_SESSION['date_Debut']=$date_Debut;
                                              	        			$_SESSION['date_Fin']=$date_Fin;
                                              	        			$_SESSION['commentaire']=$commentaire;
                                              	        			 
                                              	        			//Envoi mail
                                              	        			$destinataire = 'antoinebandarra@gmail.com';
                                              	        			$sujet = 'asgard';
                                              	        			$message = "test";
                                              	        			$entete  = 'From: '.$_SESSION['login_utilisateur']."\r\n".
                                              	        					'Reply-To: '.$_SESSION['login_utilisateur']."\r\n".
                                              	        					'X-Mailer: PHP/' . phpversion();
                                              	        			mail($destinataire, $sujet, $message, $entete);
                                              	        		}
                                              	        	}
                                              	        }
                                                      }
                                                  } catch (PDOException $pdoE) {
                                                      echo 'Erreur connexion BD';
                                                  }
                                              ?> 
                                              <html>
                                                  <head>
                                                      <meta charset="utf-8"/>
                                                      <link href="CSS/formulaire.css"/>
                                                      <title> FORMULAIRE </title>
                                                  </head>
                                                   
                                                  <body>
                                                      <?php
                                                      include('menu.php');
                                                      ?>
                                                   
                                                      <form action="#" method="POST" class="formulaire" >
                                                          <h1>Formulaire</h1>
                                                   
                                                              <HR width=200 align=left>
                                                   
                                                          <h3>Information du bénéficiaire</h3>
                                                              <p>Nom: <input type="text" name="nom_Beneficiaire"> <br></p>
                                                              <p>Prenom: <input type="text" name="prenom_Beneficiaire"> <br></p>
                                                              <p>Adresse mail : <input type="text" name="adresse_Mail_Beneficiaire"> <br> <br></p>
                                                   
                                                              <HR width=200 align=left>
                                                   
                                                          <h3>informations générales</h3>
                                                          <p>Lieu d'accès: </p> <SELECT name="nom_Lieu" size="1">
                                                   
                                                          <?php 
                                                          //A tester 
                                                          foreach ($donneesLieu AS $donneeLieu)
                                                          {
                                                          ?>
                                                                  <option value="<?php echo $donneeLieu['id_Lieu']; ?>"> <?php echo $donneeLieu['id_Lieu']."- ".$donneeLieu['nom_Lieu']; ?> </option>
                                                          <?php 
                                                          }
                                                          ?>
                                                              </SELECT>
                                                   
                                                          <p>Raison: </p> <SELECT name="nom_Raison" size="1">
                                                   
                                                          <?php 
                                                          //A tester 
                                                              foreach ($donneesRaison AS $donneeRaison)
                                                          {
                                                          ?>
                                                                  <option value="<?php echo $donneeRaison['id_Raison']; ?>"> <?php echo $donneeRaison['id_Raison']."- ".$donneeRaison['nom_Raison']; ?> </option>
                                                          <?php 
                                                          }
                                                          ?>
                                                              </SELECT>
                                                   
                                                              <p>Date de début: <input type="text" name="date_Debut" placeholder="ex: 11/01/2017"> <br></p>
                                                              <p>Date de fin: <input type="text" name="date_Fin" placeholder="ex: 11/01/2017"> <br></p>
                                                              <p>Commentaire: <input type="text" name="commentaire"> <br></p>
                                                              <p><input type="submit" name="bouton" value="valider"> <br></p>
                                                      </form>
                                                  </body>
                                              </html>



                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                20 janvier 2017 à 16:20:19

                                                lol tu n'as pas vu que le nom de la connexion est revenue à req ^^

                                                voilà corrigé

                                                <?php
                                                    session_start();
                                                    try {
                                                        $bdd = new PDO('mysql:host=localhost;dbname=db_asgard;charset=utf8', 'login', 'mdp', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
                                                         
                                                        // chargement des données
                                                        echo '<br>1) Chargement donnee RAISON';
                                                        $req = 'SELECT * FROM Raison';
                                                        $stmt = $bdd->prepare($req);
                                                        if (!$stmt->execute()) {
                                                            echo 'Erreur recup donnees RAISON';
                                                            exit();
                                                        } else {
                                                            $donneesRaison = $stmt->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                                                            echo '<br>2) Chargement donnee LIEU';
                                                            $req = 'SELECT * FROM LieuAcces';
                                                            $stmt2 = $bdd->prepare($req);
                                                            if (!$stmt2->execute()) {
                                                                echo 'Erreur recup donnees LIEU';
                                                            exit();
                                                            } else {
                                                                $donneesLieu = $stmt2->fetchAll(PDO::FETCH_ASSOC); //tableau associatif
                                                                 
                                                                echo '<br>3) avant if (!empty($_POST))';
                                                                if(!empty($_POST)) //Si l'utilisateur valide
                                                                {
                                                                    echo '<br>4) Dans if (!empty($_POST))';
                                                                    //htmlspecialchars pour l'aaffichage cela n'a rien a faire là
                                                                    $nom_Beneficiaire = htmlspecialchars(trim($_POST['nom_Beneficiaire']));
                                                                    $prenom_Beneficiaire = htmlspecialchars(trim($_POST['prenom_Beneficiaire']));
                                                                    $adresse_Mail_Beneficiaire = htmlspecialchars(trim($_POST['adresse_Mail_Beneficiaire']));
                                                                    $nom_Raison = htmlspecialchars(trim($_POST['nom_Raison']));
                                                                    $date_Debut = htmlspecialchars(trim($_POST['date_Debut']));
                                                                    $date_Fin = htmlspecialchars(trim($_POST['date_Fin']));
                                                                    $commentaire = htmlspecialchars(trim($_POST['commentaire']));
                                                                 
                                                                    $req = 'INSERT INTO InfoDemande(id_Lieu, id_Raison, id_Utilisateur, nom_Beneficiaire, prenom_Beneficiaire, adresse_Mail_Beneficiaire,date_Debut,date_Fin,commentaire)';
                                                                    $req .= ' VALUES ';
                                                                    $req .= '(:id_Lieu, :id_Raison, :id_Utilisateur,:nom_Beneficiaire, :prenom_Beneficiaire, :adresse_Mail_Beneficiaire, :date_Debut, :date_Fin, :commentaire)';
                                                                 
                                                                    echo '<br>5) req: '.$req;
                                                                    //prepoaration
                                                                    $stmt = $bdd->prepare($req);
                                                                    echo '<br>6) req preparee';
                                                                    //Bind des valeurs
                                                                    echo '<br>7) Bind des valeurs';
                                                                    $stmt->binValue('id_Lieu',$donnees['id_Lieu']);
                                                                    $stmt->binValue('id_Raison',$donnees['id_Raison']);
                                                                    $stmt->binValue('id_Utilisateur',$_SESSION['id_Utilisateur']);
                                                                    $stmt->binValue('nom_Beneficiaire',$nom_Beneficiaire);
                                                                    $stmt->binValue('prenom_Beneficiaire',$prenom_Beneficiaire);
                                                                    $stmt->binValue('adresse_Mail_Beneficiaire',$adresse_Mail_Beneficiaire);
                                                                    $stmt->binValue('date_Debut',$date_Debut);
                                                                    $stmt->binValue('date_Fin',$date_Fin);
                                                                    $stmt->binValue('commentaire',$commentaire);
                                                                 
                                                                    echo '<br>8) execute';
                                                                    if (!$stmt->execute()) {
                                                                        echo '<br>9) execute KO';
                                                                        echo 'Erreur insertion donnees';
                                                                    } else {
                                                                        echo '<br>9) execute OK';
                                                                        echo 'Donnees inserees';
                                                                        $_SESSION['nom_Beneficiaire']=$nom_Beneficiaire;
                                                                        $_SESSION['prenom_Beneficiaire']=$prenom_Beneficiaire;
                                                                        $_SESSION['adresse_Mail_Beneficiaire']=$adresse_Mail_Beneficiaire;
                                                                        $_SESSION['date_Debut']=$date_Debut;
                                                                        $_SESSION['date_Fin']=$date_Fin;
                                                                        $_SESSION['commentaire']=$commentaire;
                                                                          
                                                                        //Envoi mail
                                                                        $destinataire = 'antoinebandarra@gmail.com';
                                                                        $sujet = 'asgard';
                                                                        $message = "test";
                                                                        $entete  = 'From: '.$_SESSION['login_utilisateur']."\r\n".
                                                                                'Reply-To: '.$_SESSION['login_utilisateur']."\r\n".
                                                                                'X-Mailer: PHP/' . phpversion();
                                                                        mail($destinataire, $sujet, $message, $entete);
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    } catch (PDOException $pdoE) {
                                                        echo 'Erreur connexion BD';
                                                    }
                                                ?> 
                                                <html>
                                                    <head>
                                                        <meta charset="utf-8"/>
                                                        <link href="CSS/formulaire.css"/>
                                                        <title> FORMULAIRE </title>
                                                    </head>
                                                      
                                                    <body>
                                                        <?php
                                                        include('menu.php');
                                                        ?>
                                                      
                                                        <form action="#" method="POST" class="formulaire" >
                                                            <h1>Formulaire</h1>
                                                      
                                                                <HR width=200 align=left>
                                                      
                                                            <h3>Information du bénéficiaire</h3>
                                                                <p>Nom: <input type="text" name="nom_Beneficiaire"> <br></p>
                                                                <p>Prenom: <input type="text" name="prenom_Beneficiaire"> <br></p>
                                                                <p>Adresse mail : <input type="text" name="adresse_Mail_Beneficiaire"> <br> <br></p>
                                                      
                                                                <HR width=200 align=left>
                                                      
                                                            <h3>informations générales</h3>
                                                            <p>Lieu d'accès: </p> <SELECT name="nom_Lieu" size="1">
                                                      
                                                            <?php 
                                                            //A tester 
                                                            foreach ($donneesLieu AS $donneeLieu)
                                                            {
                                                            ?>
                                                                    <option value="<?php echo $donneeLieu['id_Lieu']; ?>"> <?php echo $donneeLieu['id_Lieu']."- ".$donneeLieu['nom_Lieu']; ?> </option>
                                                            <?php 
                                                            }
                                                            ?>
                                                                </SELECT>
                                                      
                                                            <p>Raison: </p> <SELECT name="nom_Raison" size="1">
                                                      
                                                            <?php 
                                                            //A tester 
                                                                foreach ($donneesRaison AS $donneeRaison)
                                                            {
                                                            ?>
                                                                    <option value="<?php echo $donneeRaison['id_Raison']; ?>"> <?php echo $donneeRaison['id_Raison']."- ".$donneeRaison['nom_Raison']; ?> </option>
                                                            <?php 
                                                            }
                                                            ?>
                                                                </SELECT>
                                                      
                                                                <p>Date de début: <input type="text" name="date_Debut" placeholder="ex: 11/01/2017"> <br></p>
                                                                <p>Date de fin: <input type="text" name="date_Fin" placeholder="ex: 11/01/2017"> <br></p>
                                                                <p>Commentaire: <input type="text" name="commentaire"> <br></p>
                                                                <p><input type="submit" name="bouton" value="valider"> <br></p>
                                                        </form>
                                                    </body>
                                                </html>



                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  20 janvier 2017 à 16:23:16

                                                  Ah oui exact! Maintenant le formulaire s'affiche avec le numéro 1, 2 et 3
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    20 janvier 2017 à 16:27:49

                                                    valide ton formulaire maintenant ^^

                                                    ++

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      20 janvier 2017 à 16:30:29

                                                      Le dernier chiffre est le 7 lorsque je confirme
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        20 janvier 2017 à 16:33:37

                                                        zarb, et pas d'erreur ? si le 7 passe, alors le 8 devrait aussi... Regarde le log d'erreurs... A mon avis l'accès à $donnees est pas bon... je te laisse corriger celle là ;)

                                                        ++

                                                        EDIT:

                                                        un truc comme ça ^^

                                                        <?php	        		$stmt->binValue('id_Lieu',$donneesLieu['id_Lieu']);
                                                        	        		$stmt->binValue('id_Raison',$donneesRaison['id_Raison']);



                                                        -
                                                        Edité par christouphe 20 janvier 2017 à 16:34:45

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Clé étrangère via 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