Application web de telemedecine

Résolu/Fermé
Sihemnecib Messages postés 15 Date d'inscription jeudi 17 mars 2016 Statut Membre Dernière intervention 17 avril 2016 - 27 mars 2016 à 22:55
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 29 mars 2016 à 17:35
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
A voir également:

9 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
28 mars 2016 à 12:13
Bonjour
sans voir ton code. ... impossible de t'aider.
0
Sihemnecib Messages postés 15 Date d'inscription jeudi 17 mars 2016 Statut Membre Dernière intervention 17 avril 2016
Modifié par jordane45 le 28/03/2016 à 13:38
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.
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
28 mars 2016 à 13:33
La belle injection SQL... :) Et l'extension PHP MySQL est obsolète et donc a ne pas utiliser.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
28 mars 2016 à 13:40
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


0
Sihemnecib Messages postés 15 Date d'inscription jeudi 17 mars 2016 Statut Membre Dernière intervention 17 avril 2016
Modifié par jordane45 le 28/03/2016 à 17:04
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.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
28 mars 2016 à 17:10
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 ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sihemnecib Messages postés 15 Date d'inscription jeudi 17 mars 2016 Statut Membre Dernière intervention 17 avril 2016
28 mars 2016 à 23:34
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');
	}	
    
}
			
	
    

?>
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
28 mars 2016 à 23:37
1 - tu es repassé à mysql au lieu de pdo ??

2 - tu fais des header location dans tes ifs ... normal que rien ne s'affiche. ...
0
Sihemnecib Messages postés 15 Date d'inscription jeudi 17 mars 2016 Statut Membre Dernière intervention 17 avril 2016
29 mars 2016 à 00:06
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
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
Modifié par jordane45 le 29/03/2016 à 01:23

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 !
0
Sihemnecib Messages postés 15 Date d'inscription jeudi 17 mars 2016 Statut Membre Dernière intervention 17 avril 2016
29 mars 2016 à 12:42
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?!!!!!
0
Sihemnecib Messages postés 15 Date d'inscription jeudi 17 mars 2016 Statut Membre Dernière intervention 17 avril 2016
29 mars 2016 à 15:05
Pardon!!!!!!! Jordane merc bcp je me trompe :)
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
29 mars 2016 à 17:35
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 .
0