Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/09/2011, 01h20   #1
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
Par défaut Récupérer la valeur d'un champ auto-incrementé

bonsoir à tous,
je revient vers vous car après maintes recherches je n'y arrive pas.
voici mon code ( j'espere que cette fois ça sera propre )

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
/* Nom du programme :  ajout_patient.php
/* description : Page d'ajout de patient à partir d'un formulaire
/*				 sur la table patient. On est dirigé vers une page qui affiche
/*				 un message informant de la prise en compte de l'ajout du patient 
/*				 et propose d'en ajouter un autre ou d'ajouter des rdv 
/*				 ou de retourner vers la liste des patients. Si on ajoute des rdv on recupere l'id patient en parametre.
*/
?>
<?php
$id_uf=$_REQUEST['id_uf'];
echo "uf du service=$id_uf";
// Reporte toutes les erreurs PHP
error_reporting(-1);
/* connexion au serveur et à la base de données et requete de selection sur la table services*/
 
 
include ("includes/connect.inc.php");
 
if (isset ($_POST['enregistre']) && $_POST['enregistre'] == "oui")
{
	$connexion = mysql_connect ($host,$user,$password)
					or die ("Connexion au serveur impossible");
	$db=mysql_select_db($database,$connexion)
					or die ("selection de la base de données impossible");
	$sql = "INSERT INTO patients (id,id_uf,nom,prenom,naissance,sexe,chambre,enable)VALUES 
		    (	".
				"'',".
				"'".$id_uf."',".			
				"'".$_POST['nom']."',".
				"'".$_POST['prenom']."',".
				"'".$_POST['naissance']."',".
				"'".$_POST['sexe']."',".
				"'".$_POST['chambre']."',
				'1')";
			mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			echo "la table a été correctement charger";
	mysql_close ($connexion);
}
include ("includes/header.inc.php");
?>
<p align="left">:: Ajouter un patient
<form action="choix_ajout_patient.php?id_uf=<?php $id_uf ?>&id_patient=<?php $id ?>" method="post">
<input type="hidden" name="enregistre" value="oui"/>
<input type="hidden" name="id_uf" value="<?php echo "$id_uf";?>"/>
	<table>
		<tr>
		<td>Nom :</td>
		<td> <input type="text" name="nom" value=""></td>
		</tr>
		<tr>
		<td>Prénom :</td>
		<td> <input type="text" name="prenom" value=""></td>
		</tr>
		<tr>
		<td>Naissance :</td>
		<td> <input type="date" name="naissance" value=""></td>
		</tr>
		<tr>
		<td>Sexe :</td>
		<td> <select name="sexe">
					   <option value="M" selected>M
					   <option value="F">F
					   </select></td>
		</tr>
		<tr>
		<td>Chambre :</td>
		<td> <input type="text" name="chambre" value=""></td>
		</tr>
	</table>
		</br>
		<input type="submit" value="enregistrer">
 
 
</form>
 
<?php
	 include ("includes/footer.inc.php");
?>
</tr>
</table>
<?php
include ("includes/footer2.inc.php");
?>
donc voila ( j’espère que je serais assez claire !)
comme expliqué dans la partie commentaire de mon code ( au début ) je veux rediriger après insertion (donc seulement si elle est réussi) vers une page qui ou je proposerais
a) soit d 'ajouter un nouveau patient
b) soit d'ajouter un rdv
c) soit de retourner vers l'accueil.

pour a) j'ai besoin de récupérer l'id_uf (ça j'ai su faire)
pour c) pas de soucis ( que du html)
pour b) par contre je ne sais pas récupérer le champs id qui est auto incrémenter !
j'ai bien vu la solution avec : mais est ce que je doit l'utiliser sur ma page d'affichage du message de choix ( ça me parait le plus logique mais je ne suis sur de rien !) ou sur la page de mon formulaire afin de récupérer la valeur de l'id dans une variable et récupérer cette variable sur ma page de choix ? dans les deux cas : comment j'utilise cette fonction ?

merci de vos réponses et de votre aide !
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 22h13   #2
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
bon et bien après maintes recherche j'ai ajouté :
Code :
$id_patient= mysql_insert_id();
juste après ma requête et lorsque j’exécute ma requête et que je fait un il m'affiche bien le dernier enregistrement ...mais ça ne marche que si dans mon formulaire je fais ça :
Code :
<form action="ajout_patient.php?id_uf=<?php echo "$id_uf"; ?>&id_patient=<?php echo '$id_patient'; ?>" method="POST">
car si je veux recupere le parametre sur une autre page j'obtient :
Code :
Notice: Undefined index:.....
je continue mes recherche mais si vous avez une solution merci de m'aidez !
si je trouve je mettrais ma solution !
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 22h21   #3
Membre actif
 
Avatar de satenske
 
Homme Antoine
DUT informatique
Inscription : mars 2011
Messages : 90
Détails du profil
Informations personnelles :
Nom : Homme Antoine
Âge : 20
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : DUT informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2011
Messages : 90
Points : 182
Points : 182
Notice: Undefined inde

ça veut tout simple dire que ta variable n'a pas été déclaré, donc les pages ou tu obtiens ça, c'est que ta variable n'existe pas.
Ta variable, si tu en as besoin dans d'autre pages, tu es en effet obligé de la faire passer via l'adresse($_GET['']), ou éventuellement des sessions.
satenske est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 22h22   #4
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 307
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 307
Points : 4 488
Points : 4 488
Citation:
Envoyé par herve911 Voir le message
bon et bien après maintes recherche j'ai ajouté :
Code :
$id_patient= mysql_insert_id();
juste après ma requête et lorsque j’exécute ma requête et que je fait un il m'affiche bien le dernier enregistrement ...mais ça ne marche que si dans mon formulaire je fais ça :
Code :
<form action="ajout_patient.php?id_uf=<?php echo "$id_uf"; ?>&id_patient=<?php echo '$id_patient'; ?>" method="POST">
car si je veux recupere le parametre sur une autre page j'obtient :
Code :
Notice: Undefined index:.....
je continue mes recherche mais si vous avez une solution merci de m'aidez !
si je trouve je mettrais ma solution !
de mémoire tu ne peut pas passer de variable dans l'url d'un formulaire, il faut pour cela utiliser un input de type hidden que tu récupère dans ta page cible.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 22h30   #5
Membre actif
 
Avatar de satenske
 
Homme Antoine
DUT informatique
Inscription : mars 2011
Messages : 90
Détails du profil
Informations personnelles :
Nom : Homme Antoine
Âge : 20
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : DUT informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2011
Messages : 90
Points : 182
Points : 182
Techniquement, on peut, on récupérera une variable superglobale $_GET[''], ça marchera sans problème!

C'est juste beaucoup plus propre d'utiliser un hidden en effet, ça évite à l'utilisateur de voir une adresse toute biscornue, ça devient vite lourd si on fait passer 3-4variables (à moins d'utiliser l'url rewriting).

J'ai toujours utilisé cette théorie: si on peut éviter les get; on évite!
satenske est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 22h48   #6
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
Code :
$id_patient= mysql_insert_id();
si j’écris celaj'ai bel et bien initialisé la variable $id_patient qui contient la valeur récupérer par la fonction ?

si j'écris ça :
Code :
<input type="hidden" name="id_patient" value="<?php echo "$id_patient";?>"/>
j’envoie bien cette variable dans le champs caché avec la valeur récupère ?

si oui pourquoi j’obtiens ce message :
Code :
Notice: Undefined variable: id_patient in C:\wamp\www\rdv_patient\ajout_patient.php on line 52 Call Stack #TimeMemoryFunctionLocation 10.0007378816{main}( )..\ajout_patient.php:0 "/>
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 22h50   #7
Membre actif
 
Avatar de satenske
 
Homme Antoine
DUT informatique
Inscription : mars 2011
Messages : 90
Détails du profil
Informations personnelles :
Nom : Homme Antoine
Âge : 20
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : DUT informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2011
Messages : 90
Points : 182
Points : 182
Si tu utilise hidden, la variable n'est pas id_patient mais $_POST['id_patient']
Donc, sur ta page de traitement utilise $_POST['id_patient']
satenske est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 23h51   #8
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
c'est vraiment "étrange" !
voici mon code ( à nouveau )
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
/* Nom du programme :  ajout_patient.php
/* description : Page d'ajout de patient à partir d'un formulaire
/*				 sur la table patient. On est dirigé vers une page qui affiche
/*				 un message informant de la prise en compte de l'ajout du patient 
/*				 et propose d'en ajouter un autre ou d'ajouter des rdv 
/*				 ou de retourner vers la liste des patients. Si on ajoute des rdv on recupere l'id patient en parametre.
*/
?>
<?php
$id_uf=$_REQUEST['id_uf'];
echo "uf du service=$id_uf";
// Reporte toutes les erreurs PHP
error_reporting(-1);
/* connexion au serveur et à la base de données et requete de selection sur la table services*/


include ("includes/connect.inc.php");

if (isset ($_POST['enregistre']) && $_POST['enregistre'] == "oui")
{
	$connexion = mysql_connect ($host,$user,$password)
					or die ("Connexion au serveur impossible");
	$db=mysql_select_db($database,$connexion)
					or die ("selection de la base de données impossible");
	$sql = "INSERT INTO patients (id,id_uf,nom,prenom,naissance,sexe,chambre,enable)VALUES 
		    (	".
				"'',".
				"'".$id_uf."',".			
				"'".$_POST['nom']."',".
				"'".$_POST['prenom']."',".
				"'".$_POST['naissance']."',".
				"'".$_POST['sexe']."',".
				"'".$_POST['chambre']."',
				'1')";
			mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			$id_patient=mysql_insert_id();
			
	/*echo"<br/>";
			echo "la table a été correctement charger";
			echo"<br/>";
			echo "$id_patient";*/
	mysql_close ($connexion);
	
}
include ("includes/header.inc.php");
?>
<p align="left">:: Ajouter un patient
<form action="choix_ajout_patient.php" method="POST">
<input type="hidden" name="enregistre" value="oui"/>
<input type="hidden" name="id_uf" value="<?php echo "$id_uf";?>"/>
<input type="hidden" name="id_patient" value="<?php echo "$id_patient";?>"/>
	<table>
		<tr>
		<td>Nom :</td>
		<td> <input type="text" name="nom" value=""></td>
		</tr>
		<tr>
		<td>Prénom :</td>
		<td> <input type="text" name="prenom" value=""></td>
		</tr>
		<tr>
		<td>Naissance :</td>
		<td> <input type="date" name="naissance" value=""></td>
		</tr>
		<tr>
		<td>Sexe :</td>
		<td> <select name="sexe">
					   <option value="M" selected>M
					   <option value="F">F
					   </select></td>
		</tr>
		<tr>
		<td>Chambre :</td>
		<td> <input type="text" name="chambre" value=""></td>
		</tr>
	</table>
		</br>
		<input type="submit" value="enregistrer">
		
	
</form>

<?php
	
/*	echo "le dernier id enregistré est le n° : $id"; */
	 include ("includes/footer.inc.php");
?>
</tr>
</table>
<?php
include ("includes/footer2.inc.php");
?>
voila si dans mon <form> je renvoie le formulaire sur lui même après traitement je récupère bien la valeur de la variable $id_patient et le traitement se fait : la requete s'execute et alimente la table !

par contre si je l'envoie vars la page de choix ou il n'y a que ce code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
/* Nom du programme :  choix_ajout_patient.php
/* description : Page qui permet de choisir si :
/* - on ajoute un rendez vous
/* - on ajoute un autre patient
/* - on retourne à l'accueil.
/* 
*/
 
?>
 
<?php
echo "uf du service=$_POST[id_uf]";
echo"<br/>";
 
echo "id du patient=$_POST[id_patient]";
 
include ("includes/header.inc.php");
echo "la table a été correctement charger";
 
?>
je récupère la valeur de la 1ere variable ($_POST[id_uf).
par contre la 2nde non !
si je change le $_POST par une autre méthode ça me dis que l'index n'est pas définis !.....bizarre non ?
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 23h18   #9
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 307
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 307
Points : 4 488
Points : 4 488
je vais reprendre bêtement ce qu'a marqué satenske

l'utilisation de quote et obligatoire.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 23h19   #10
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
je me permet de faire un up car je n'y arrive vraiment pas ! c'est comme si on ne pouvait pas passer en paramètre dans une variable la valeur d'une récupérer par une fonction !

donc si vous avez une idée ou si vous trouvez une erreur dans mon code merci de m'aider !

bon j'y vais :

alors si j'ecris
Code :
1
2
<input type="hidden" name="id_uf" value="<?php $_POST ['id_uf']; ?>"/>
<input type="hidden" name="id_patient" value="<?php $_POST['id_patient'] ; ?>"/>
lorsque j'arrive sur mon formulaire j'ai ça !
Code :
1
2
Notice: Undefined index: id_uf in C:\wamp\www\rdv_patient\ajout_patient.php on line 51 Call Stack #TimeMemoryFunctionLocation 10.0009377944{main}( )..\ajout_patient.php:0 "/> ( ! )
 Notice: Undefined index: id_patient in C:\wamp\www\rdv_patient\ajout_patient.php on line 52 Call Stack #TimeMemoryFunctionLocation 10.0009377944{main}( )..\ajout_patient.php:0 "/>
si j'ecris ça :
Code :
1
2
<input type="hidden" name="id_uf" value="<?php $id_uf; ?>"/>
<input type="hidden" name="id_patient" value="<?php $id_patient; ?>"/>
plus de soucis je n'ai pas le message d'erreur !
je remplis mon formulaire je valide et :
Code :
( ! ) Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\rdv_patient\choix_ajout_patient.php on line 14
voici le code défectueux :
Code :
1
2
3
4
5
<?php
echo "uf du service = $_POST['id_uf']";  (ici ligne 14)
echo"<br/>";
echo "id du patient = $_POST['id_patient']";
?>
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 11h57   #11
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
Citation:
Envoyé par Vil'Coyote Voir le message
l'utilisation de quote et obligatoire.
Faux. Elle est conseillée (évite des warnings, économise une interpolation de la part de l'analyseur), mais pas obligatoire.

Il y a même des cas où ajouter des guillemets simples provoque des erreurs. Justement :

Code :
1
2
echo "uf du service = $_POST['id_uf']"; // plante
echo "uf du service = $_POST[id_uf]"; // ne plante pas si l'index id_uf existe
Le mieux étant sans doute d'utiliser une syntaxe complète et non ambigüe ou une concaténation explicite :
Code :
1
2
echo "uf du service = {$_POST['id_uf']}"; 
echo "uf du service = ". $_POST['id_uf'];
Ref : http://www.php.net/manual/fr/languag...string.parsing
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 01h18   #12
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
ça me rend dingue....je comprends pas pourquoi je n'arrive pas à récupérer la valeur de ces variables !!!!!!!!
j'ai tenté toutes les méthodes évoquées ici plus j'ai tenté de les récupérer comme ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$id_uf=$_REQUEST['id_uf'];
$id=$_REQUEST['id'];
echo "uf du service =$id_uf";
echo"<br/>";
 
echo "uf du service =".$id;
 
include ("includes/header.inc.php");
echo "la table a été correctement charger";
 
?>
j'ai mis des crochets, des accolade rien, des simple cotes des doubles cotes...mais rien à faire mes variables ne passent pas sur ma page !!!!!!
malgré que j'ai deux input hidden pour récupérer ces valeurs et que j'ai initialisé mes variables sur la page d'arrivé !!!!!
je suis perdue !!!!! si vous avez une solution merci de m'aider !
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 09h16   #13
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
C'est forcément un éléphant. Essaye donc les techniques de pistage de base. Par exemple, puisque les valeurs que tu veux lire viennent d'un formulaire, elles sont forcément dans $_POST sinon c'est que ton formulaire est buggué. Que donne un print_r($_POST, true) sur la page appelée après la soumission de ce formulaire ?
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 20h46   #14
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
j'ai ajouté ce code a ma page ou je suis sensé recuperer la valeur de mes variable :
Code :
1
2
3
echo "<pre>";
print_r($_POST, true);
echo "</pre>";
ça ne donne rien ( rien ne s'affiche)!
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 20h53   #15
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
Normal : http://www.php.net/manual/fr/function.print-r.php
Code :
1
2
3
4
5
echo "<pre>", print_r($_POST, true), "<pre>"
// ou
echo "<pre>";
print_r($_POST);
echo "</pre>";
marchera mieux
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 20h58   #16
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
Citation:
Envoyé par Herode Voir le message
Normal : http://www.php.net/manual/fr/function.print-r.php
Code :
1
2
3
4
5
echo "<pre>", print_r($_POST, true), "<pre>"
// ou
echo "<pre>";
print_r($_POST);
echo "</pre>";
marchera mieux
en effet ça va mieux !!!! merci.

voici la reponse du print_r :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [enregistre] => oui
    [id_uf] => 
    [id] => 
    [nom] => bataille
    [prenom] => marie
    [naissance] => 1973-05-23
    [sexe] => F
    [chambre] => 1312
)
1
donc mes champs id_uf et id ne sont pas alimentés ! par contre ce que je trouve étrange c'est que dans ma base de données le champs id ( cle primaire) et en 1er et id uf en second !

bon je viens de comprendre pourquoi mes champs étaient inversés...car j'avais écrit mes "input hidden" à l'envers !

de plus en écrivant ceci :
Code :
<input type="hidden" name="id_uf" value="<?php echo $id_uf; ?>"/>
(j'ai rajouté echo devant $id_uf) le print_r[$_POST] renvois la valeur de la variable $id_uf !

par contre pour la seconde ( qui est tres importante pour la suite)...NADA !)
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 21h20   #17
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
Hé bien si tu n'as rien dans $_POST['id'] c'est soit que le visiteur n'a rien saisi dans ce champ s'il est public, soit que tu ne l'as pas correctement renseigné s'il est hidden. Montre nous le code correspondant si tu n'arrives pas à trouver la faille.
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 21h45   #18
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
alors bon mon code à un peu changé par rapport à celui que j'ai posté au début!
voici la page du formulaire
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
// Reporte toutes les erreurs PHP
error_reporting(-1);
/* connexion au serveur et à la base de données et requete de selection sur la table services*/
 
 
include ("includes/connect.inc.php");
 
if (isset ($_POST['enregistre']) && $_POST['enregistre'] == "oui")
{
	$connexion = mysql_connect ($host,$user,$password)
					or die ("Connexion au serveur impossible");
	$db=mysql_select_db($database,$connexion)
					or die ("selection de la base de données impossible");
	$sql = "INSERT INTO patients (id,id_uf,nom,prenom,naissance,sexe,chambre,enable)VALUES 
		    (	".
				"'',".
				"'".$_REQUEST['id_uf']."',".			
				"'".$_REQUEST['nom']."',".
				"'".$_REQUEST['prenom']."',".
				"'".$_REQUEST['naissance']."',".
				"'".$_REQUEST['sexe']."',".
				"'".$_REQUEST['chambre']."',
				'1')";
			mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
			$id=mysql_insert_id();			
 
	mysql_close ($connexion);
 
}
include ("includes/header.inc.php");
?>
<p align="left">:: Ajouter un patient
<form action="choix_ajout_patient.php" method="post">
<input type="hidden" name="enregistre" value="oui"/>
<input type="hidden" name="id" value="<?php echo '$id'; ?>"/>
<input type="hidden" name="id_uf" value="<?php echo $id_uf; ?>"/>
	<table>
		<tr>
		<td>Nom :</td>
		<td> <input type="text" name="nom" value=""></td>
		</tr>
		<tr>
		<td>Prénom :</td>
		<td> <input type="text" name="prenom" value=""></td>
		</tr>
		<tr>
		<td>Naissance :</td>
		<td> <input type="date" name="naissance" value=""></td>
		</tr>
		<tr>
		<td>Sexe :</td>
		<td> <select name="sexe">
					   <option value="M" selected>M
					   <option value="F">F
					   </select></td>
		</tr>
		<tr>
		<td>Chambre :</td>
		<td> <input type="text" name="chambre" value=""></td>
		</tr>
	</table>
		</br>
		<input type="submit" value="enregistrer">
 
 
</form>
 
<?php
 
/*	echo "le dernier id enregistré est le n° : $id"; */
	 include ("includes/footer.inc.php");
?>
</tr>
</table>
<?php
include ("includes/footer2.inc.php");
?>
voici ma page ( ou pour l'instant je cherche à recupérer mes variable envoyer dessus ) qui va me permettre de donner un choix à l'utilisateur !
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
 
// Reporte toutes les erreurs PHP
error_reporting(-1);
?>
 
<?php
$id_uf=$_REQUEST['id_uf'];
$id=$_REQUEST['id'];
echo "uf du service =$id_uf";
echo"<br/>";
 
echo "uf du service =".$id;
 
include ("includes/header.inc.php");
echo "la table a été correctement charger";
echo "<pre>", print_r($_POST, true), "<pre>";
?>
<?php
 
 
	 include ("includes/footer.inc.php");
?>
</tr>
</table>
<?php
include ("includes/footer2.inc.php");
?>
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 21h51   #19
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
Code :
<input type="hidden" name="id" value="<?php echo '$id'; ?>"/>
Hum...
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 22h00   #20
Invité régulier
 
Inscription : janvier 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 36
Points : 8
Points : 8
lol...oui je sais !!!!!! mais je testé un peu tout car bizzarement lorsque j'ecrit la meme chose que ça :
Code :
1
2
<input type="hidden" name="id" value="<?php echo $id; ?>"/>
         <input type="hidden" name="id_uf" value="<?php echo $id_uf; "/>
et bien je recupere bien la valeur de $id_uf mais pas celle de $id....
donc j'avoue que j'ai testé un peu tout et n'importequoi....
herve911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h47.


 
 
 
 
Partenaires

Hébergement Web