Application web de telemedecine

Résolu
Bonsoir tous le monde j'ai un projet de fin d'étude et j'ai besoin d'un code pour enregistrer le formulaire qui doit remplis par un patient ce dernier va enregistrer dans ma base de donnée j'ai essayer avec INSERT INTO .... Et je ne trouve pas mes informations dans ma base.
J'ai besoin cette partie c urgent aide moi svp

9 réponses

  1. Pardon!!!!!!! Jordane merc bcp je me trompe :)
    1. Modérateur
      Donc c'est bon ?
      Si c'est le cas.... merci de penser à cloturer la discussion en cliquant sur le lien "Marquer comme résolu" sous le titre de ta question .
  2. Bonjour j'ai fait comme tu dit mais lorsque u'éxécute il me dit la page n'est pas redirigé correctement :(
    Je sais pas pourqoi?!!!!!
    1. Modérateur

      comment je les courrige???

      Quel point ?
      Si c'est pour la connexion à la BDD... il te suffit de comparer tes deux derniers codes....

      Si c'est concernant les messages qui n'apparaissent pas....
      Ben tu vires les redirections tout simplement....

      (ma spécialité c'est l'électronique )
      moi aussi c'était mes études.... avant que je ne bosse dans l'informatique... ^^

      Bon tiens... j'ai refais un peu ton code...
      Tu places TOUT dans le fichier page1.php comme ceci :
      
      
      <?php
      // connexion à la BDD ( EN PDO DE PREFERENCE ! )
      require_once 'ConnexionMySql.php';
      
      //récupération des variables
      $code   = !empty($_POST['code']) ? $_POST['code'] : NULL;
      $nom    = !empty($_POST['nom']) ? $_POST['nom'] : NULL;
      $prenom = !empty($_POST['prenom']) ? $_POST['prenom'] : NULL;
      $date   = !empty($_POST['date']) ? $_POST['date'] : NULL;
      $sexe   = !empty($_POST['sexe']) ? $_POST['sexe'] : NULL;
      $num    = !empty($_POST['num']) ? $_POST['num'] : NULL;
      
      
      $error = array();
       
      if(!$code){$error[] =  'Vous devez entrer votre code';}
      if(!$nom){ $error[] =  'Vous devez entrer votre nom';}
      if(!$prenom){ $error[] =  'Vous devez entrer votre prenom';}
      if(!$date){ $error[] =  'Vous devez entrer votre date';}
      if(!$sexe){ $error[] =  'Vous devez entrer votre sexe';}
      if(!$num){$error[] =  'Vous devez entrer votre num';} 
          
        
          
      if(isset($_POST['b1'])){
      
       if(!empty($error)){
        //si il y a des erreurs...
         foreach($error as $err ){
           echo $err . "<br>";
         }
       }else{  
         $sql = " INSERT INTO patient(code_patient, nom_patient, Prenom_patient, date_ness, sexe, num_telephone) VALUES (:code, :nom, :prenom, :date, :sexe, :num)";  
         $a_datas = array(
                  ':code' => $code,
                  ':nom' => $nom,
                  ':prenom' => $prenom,
                  ':date' => $date,
                  ':sexe' => $sexe,
                  ':num' => $num
                  );
           
        $req = $bdd->prepare($sql);
        $req->execute($a_datas);
      
        echo 'La personne a bien été ajoutée';
       }
      }
      ?>
      
      <html> 
      <head> 
      <title>inscription patient</title> 
      <META NAME="Description" CONTENT=""> 
      <META NAME="Keywords" CONTENT=""> 
      <META NAME="Author" CONTENT=""> 
      </head> 
      <body> 
      
      <form method="post" action="" class="one"> 
        <font face="Arial" > 
         <h3>Tout les champs marquee avec * sont oblegatoires</h3> 
         <label for="code">Code patient:              </label> 
         <center><input type='texte' name='code' value="<?php echo $code;?>" id="code_patient">   *</center> 
         <label for="nom">Nom patient:              </label> 
         <center><input type='texte' name='nom' value="<?php echo $nom;?>" id="nom_patient">  *</center> 
         <label for="prenom">Prenom patient:          </label> 
         <center><input type='texte' name='prenom' value="<?php echo $prenom;?>" id="prenom_patient">  *</center> 
         <label for="date">Date de naissance:      </label> 
         <center><input type='date' name='date' value="<?php echo $date;?>" id="date_ness">  *</center> 
         <label for="sexe">Sexe:                         </label> 
         <center><input type='texte' name='sexe' value="<?php echo $sexe;?>" id="sexe">  *</center> 
         <label for="num">numero de telephone: </label> 
         <center><input type='texte' name='num' value="<?php echo $num;?>" id="num_telephone">  *<br><br><br></center> 
         <center><input name="b1" type="submit" class="insert" value="enregistrer" title="Enregistrer"> 
         </center> 
        </font> 
      </form> 
      <br> 
      </body> 
      </html> 
      
      


      Bien entendu, tu remplaces le contenu du fichier 'ConnexionMySql.php'; .. par la connexion en PDO !
      1. Et comment je les courrige???
        Je ne sais pas comment car je suis débutante en PHP (ma spécialité c'est l'électronique ) aide moi svp
        1. C bien mais j'ai un problème avec les message aucun message entre eux me s'affiche lorsque je laisse un champ vide ou ce qu'il le probleme
          ????

          
          <?php
          
          if(isset($_POST['b1']))
          {
          	
          	include'ConnexionMySql.php';
          
          	$code= !empty($_POST['code'])?
          	$_POST['code'] : NULL;
          	$nom= !empty($_POST['nom'])?
          	$_POST['nom'] : NULL;
          	$prenom= !empty($_POST['prenom'])?
          	$_POST['prenom'] : NULL;
          	$date= !empty($_POST['date'])?
          	$_POST['date'] : NULL;
          	$sexe= !empty($_POST['sexe'])?
          	$_POST['sexe'] : NULL;
          	$num= !empty($_POST['num'])?
          	$_POST['num'] : NULL;
          	
              
               
            $requet=mysql_query("INSERT INTO patient (code_patient, nom_patient, Prenom_patient, date_ness, sexe, num_telephone) VALUES (('$code'), ('$nom'), ('$prenom'), ('$date'), ('$sexe'), ('$num'));")
            or die(mysql_error());
            $insert=mysql_fetch_array($requet);
            echo 'Le personne ete bien ajouter';//ce message ne s'affiche pas malgré que je trouve mes nouveaux données
             
          		header('Location: page1.php');
          	
          	//cette partie ne marche pas je laisse des champs vide mais il n'affiche pas le message	
          		if(!$code){
          		echo 'Vous devez entrer votre code';
          		header('Location: inscription-patient.php');
          	}
          	if(!$nom){ 
              echo 'Vous devez entrer votre nom';
          		header('Location: inscription-patient.php');
          	}
          	if(!$prenom){
          		echo 'Vous devez entrer votre prenom';
          		header('Location: inscription-patient.php');
          	}
          	if(!$date){
          		echo 'Vous devez entrer votre date';
          		header('Location: inscription-patient.php');
          	}
          	if(!$sexe){
          		echo 'Vous devez entrer votre sexe';
          		header('Location: inscription-patient.php');
          	}
          	if(!$num){
          		echo 'Vous devez entrer votre num';
          		header('Location: inscription-patient.php');
          	}	
              
          }
          			
          	
              
          
          ?>
          
          1. Modérateur
            1 - tu es repassé à mysql au lieu de pdo ??

            2 - tu fais des header location dans tes ifs ... normal que rien ne s'affiche. ...
        2. Merc bcp J'ai essaye avec la méthode pdo et tout est bon mais lorsque je laisse les champs vide le message d'erreur un champ vide ne s'affiche pas malgré j'ais fait cette condition,,,..
          Voici mon nouvel code
          
          <?php
          if(isset($_POST['b1']))
          {
           if(isset($_POST['code']) == NULL)
              {
                  echo 'Vous devez entrer votre code ';
              }
              if(isset($_POST['nom']) == NULL)
              {
                  echo 'Vous devez entrer votre nom';
              }
              if(isset($_POST['prenom']) == NULL)
              {
                  echo 'Vous devez entrer votre prenom';
              }
           if(isset($_POST['date']) == NULL)
              {
                  echo 'Vous devez entrer votre date de naissence';
              }
           if(isset($_POST['num']) == NULL)
              {
                  echo 'Vous devez entrer votre numero de telephone';
              }
           
              header('Location: inscription-patient.php');
          }
          
            if($_POST['code'] != NULL || $_POST['nom'] != NULL || $_POST['prenom'] != NULL || $_POST['date'] != NULL || $_POST['sexe'] != NULL || $_POST['num'] != NULL){
                  try {
                      $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
                      $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '',   $pdo_options);
                      $req = $bdd->prepare('INSERT INTO patient(code_patient, nom_patient, Prenom_patient, date_ness, sexe, num_telephone) VALUES (:code, :nom, :prenom, :date, :sexe, :num)');
                      $req->execute(array(
                      'code' => $_POST['code'],
                      'nom' => $_POST['nom'],
                      'prenom' => $_POST['prenom'],
             'date' => $_POST['date'],
             'sexe' => $_POST['sexe'],
             'num' => $_POST['num']
                      ));
           header('location: page1.php');
             
                  }
                  catch(Exception $e)
                  {
                      die('Erreur : '.$e->getMessage());
                  }
              }
               
          ?>
          


          Aussi j'ai besoin de vérifier si cette personne existe-il déjà dans ma base ou non(vérifie le code) si il existe un message s'affiche cette personne existe sinon inscrit lui.
          1. Modérateur
            Bon...

            Commence par récupérer tes variables "proprement" AVANT de les utiliser.
            Pour se faire... utilise l'écriture ternaire en plus de ISSET (ou !EMPTY).

            Par exemple :
            $code = !empty($_POST['code']) ? $_POST['code'] : NULL;
            $nom= !empty($_POST['nom']) ? $_POST['nom'] : NULL;
            //etc..
            


            Puis tu peux utiliser le "!" pour dire "NOT" dans tes IF ...
            par exemple :
             if(!$code) {
                echo 'Vous devez entrer votre code ';
             }
            


            Penses également à mettre la connexion à ta BDD dans un fichier à part que tu n'auras qu'à inclure dans tes pages ( au lieu de le copier/coller partout dans ton code.....)
            Chose que tu faisais dans ton précédent code visiblement
            include'ConnexionMySql.php'; 
            


            Pour ce qui est de ta question suivante :

            Aussi j'ai besoin de vérifier si cette personne existe-il déjà dans ma base

            Il te suffit de faire une requête SELECT sur ce code afin de vérifier si il existe ou non dans ta BDD ....
        3. Modérateur
          Bonjour,
          <form methode="post" action="enregistrer.php" class="one"> 
          

          Déjà ... ... method sans E pour ton FORM !

          Ensuite... passes donc à une version de mysql plus récente.
          Regarde ça :https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

          1. Pardon !!!!!!!!

            voici mon code page1 càd formulaire:

            <HTML> 
            <HEAD> 
            <TITLE>inscription patient</TITLE> 
            <META NAME="Description" CONTENT=""> 
            <META NAME="Keywords" CONTENT=""> 
            <META NAME="Author" CONTENT=""> 
            </HEAD> 
            <BODY> 
            <form methode="post" action="enregistrer.php" class="one"> 
            <font face="Arial" > 
            <h3>Tout les champs marquee avec * sont oblegatoires</h3> 
            <label for="code">Code patient:              </label> 
            <center><input type='texte' name='code' value="" id="code_patient">   *</center> 
            <label for="nom">Nom patient:              </label> 
            <center><input type='texte' name='nom' value="" id="nom_patient">  *</center> 
            <label for="prenom">Prenom patient:          </label> 
            <center><input type='texte' name='prenom' value="" id="prenom_patient">  *</center> 
            <label for="date">Date de naissance:      </label> 
            <center><input type='date' name='date' value="" id="date_ness">  *</center> 
            <label for="sexe">Sexe:                         </label> 
            <center><input type='texte' name='sex' value="" id="sexe">  *</center> 
            <label for="num">numero de telephone: </label> 
            <center><input type='texte' name='num' value="" id="num_telephone">  *<br><br><br></center> 
            <center><input name="b1" type="submit" class="insert" value="enregistrer" title="Enregistrer" id="b1" /> 
            </center> 
            </font> 
            </form> 
            <BR> 
            </BODY> 
            </HTML> 
            

            __________________
            et voici la 2eme page enregistrer.php
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]"> 
            <html xmlns="http://www.w3.org/1999/xhtml"> 
            <head> 
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
            <title>enregistrer</title> 
            </head> 
            
            <body> 
            <?php 
            if(isset($_POST['b1'])) 
            { 
            $cod=($_POST['code']); 
            $nom=($_POST['nom']); 
            $prenom=($_POST['prenom']); 
            $date=($_POST['date']); 
            $sexe=($_POST['sexe']); 
            $num=($_POST['num']); 
            include'ConnexionMySql.php'; 
            $sql=("INSERT INTO patient (code_patient, nom_patient, Prenom_patient, dat_ness, sexe, num_telephone) VALUES ('$cod', '$nom', '$prenom', '$date', '$sexe', '$num')") or die("Erreur SQL !".$sql."<br>".mysql_error()); 
            mysql_query($sql); 
            header('location: inscription-patient.php'); 
            echo "<font color='green'> Le personne bien ete Ajouté !</font>"; 
            mysql_close(); 
            } 
            ?> 
            </body> 
            </html>
            


            EDIT : Ajout des balises de code (la coloration syntaxique).
            Explications disponibles ici :ICI

            Merci d'y penser dans tes prochains messages.
            1. Contributeur
              La belle injection SQL... :) Et l'extension PHP MySQL est obsolète et donc a ne pas utiliser.
          2. Modérateur
            Bonjour
            sans voir ton code. ... impossible de t'aider.