Les variables des sessions en php [Résolu/Fermé]
Signaler
abdeslam1999
abdeslam1999 -
- Messages postés
- 29
- Date d'inscription
- jeudi 21 mai 2009
- Statut
- Membre
- Dernière intervention
- 16 avril 2018
abdeslam1999 -
Bonjours;
j'ai trois pages web crées:
page1:consultation_client
//.........................................
<?php
$connexion=mysql_connect('localhost','root',"") or die ("Connexion impossible.");
$db=mysql_select_db('AGCS',$connexion) or die ("Base de données non accessible.");
echo'<form name="add" method="post" action="article_consulte.php" onSubmit="return verif()">';
$resultat=mysql_query("select * from client ") or die ("Requête non executée.");
echo '<select name="v_client_id" style="width:200px">';
echo '<option value="" >-Sélectionner un client--</option>';
while ($ligne=mysql_fetch_array($resultat))
{
echo "<option value='".$ligne["client_id"]. "'.>".$ligne["nom_client"]."</option>\n";
}
echo '</select>';
?>
//LES CHAMPS
................
<input type="text" name="v_client_id" />
........................
<input type="text" name="date_consulte" />
........................
<input type="text" name="etat_consulte" />
........................
<input type="text" name="mode_consulte" />
........................
<input type="text" name="rep_consulte" />
........................
<input type="text" name="date_rep" />
?>
j'ai rempli ces champs puis je clique sur un bouton pour aller à la deuxième page:article_consulte.php
Page2:le premier problème: comment je peux tranmettre ces champs vers la page article_consulte (j'ai utilisé les sessions)
<?php
session_start();
$_SESSION["v_client_id"]=$_POST["v_client_id"];
$_SESSION["date_consulte"]=$_POST["date_consulte"];
$_SESSION["etat_consulte"]=$_POST["etat_consulte"];
$_SESSION["mode_consulte"]=$_POST["mode_consulte"];
$_SESSION["rep_consulte"]=$_POST["rep_consulte"];
$_SESSION["date_rep"]=$_POST["date_rep"];
?>
<?PHP
$connexion = @mysql_connect('localhost','root',"") or die ("Connexion impossible.");
$db = @mysql_select_db('AGCS',$connexion) or die ("Base de données non accessible.");
?>
<form name="add" action="Traitement/ajouter_consultation.php" method="POST" onSubmit="return verif()">
.................................................
.................................................
Page:3:le deuxime problème:je veux inserer ces champs dans la page d'insertion(ajouter_consultation)
<?php
echo'<form name="add" method="post" action="Traitement/ajouter_consultation.php"">';
mysql_connect("localhost","root","");
mysql_select_db("AGCS");
if (isset($_POST['valider'])) {
//Rêquete d'ajout les consultation dans la table consultation_clt
$query="insert into consultation_clt(consult_clt_id,client_id,ref_consult,date_consult,etat_consult,mode_consult,reponse_clt,date_reponse) values ('','".$_SESSION['v_client_id']."','".$_SESSION['v_ref_clt']."','".$_SESSION['date_consulte']."','".$_SESSION['etat_consulte']."','".$_SESSION['mode_consulte']."','".$_SESSION['rep_consulte']."','".$_SESSION['date_rep']."')";
$result=mysql_query($query);
}
?>
Merci
abdeslam
j'ai trois pages web crées:
page1:consultation_client
//.........................................
<?php
$connexion=mysql_connect('localhost','root',"") or die ("Connexion impossible.");
$db=mysql_select_db('AGCS',$connexion) or die ("Base de données non accessible.");
echo'<form name="add" method="post" action="article_consulte.php" onSubmit="return verif()">';
$resultat=mysql_query("select * from client ") or die ("Requête non executée.");
echo '<select name="v_client_id" style="width:200px">';
echo '<option value="" >-Sélectionner un client--</option>';
while ($ligne=mysql_fetch_array($resultat))
{
echo "<option value='".$ligne["client_id"]. "'.>".$ligne["nom_client"]."</option>\n";
}
echo '</select>';
?>
//LES CHAMPS
................
<input type="text" name="v_client_id" />
........................
<input type="text" name="date_consulte" />
........................
<input type="text" name="etat_consulte" />
........................
<input type="text" name="mode_consulte" />
........................
<input type="text" name="rep_consulte" />
........................
<input type="text" name="date_rep" />
?>
j'ai rempli ces champs puis je clique sur un bouton pour aller à la deuxième page:article_consulte.php
Page2:le premier problème: comment je peux tranmettre ces champs vers la page article_consulte (j'ai utilisé les sessions)
<?php
session_start();
$_SESSION["v_client_id"]=$_POST["v_client_id"];
$_SESSION["date_consulte"]=$_POST["date_consulte"];
$_SESSION["etat_consulte"]=$_POST["etat_consulte"];
$_SESSION["mode_consulte"]=$_POST["mode_consulte"];
$_SESSION["rep_consulte"]=$_POST["rep_consulte"];
$_SESSION["date_rep"]=$_POST["date_rep"];
?>
<?PHP
$connexion = @mysql_connect('localhost','root',"") or die ("Connexion impossible.");
$db = @mysql_select_db('AGCS',$connexion) or die ("Base de données non accessible.");
?>
<form name="add" action="Traitement/ajouter_consultation.php" method="POST" onSubmit="return verif()">
.................................................
.................................................
Page:3:le deuxime problème:je veux inserer ces champs dans la page d'insertion(ajouter_consultation)
<?php
echo'<form name="add" method="post" action="Traitement/ajouter_consultation.php"">';
mysql_connect("localhost","root","");
mysql_select_db("AGCS");
if (isset($_POST['valider'])) {
//Rêquete d'ajout les consultation dans la table consultation_clt
$query="insert into consultation_clt(consult_clt_id,client_id,ref_consult,date_consult,etat_consult,mode_consult,reponse_clt,date_reponse) values ('','".$_SESSION['v_client_id']."','".$_SESSION['v_ref_clt']."','".$_SESSION['date_consulte']."','".$_SESSION['etat_consulte']."','".$_SESSION['mode_consulte']."','".$_SESSION['rep_consulte']."','".$_SESSION['date_rep']."')";
$result=mysql_query($query);
}
?>
Merci
abdeslam
A voir également:
- Les variables des sessions en php
- Les variables de sessions en php ✓ - Forum - PHP
- Les variables des sessions en php ✓ - Forum - PHP
- PHP - Parcourir variable de session ✓ - Forum - PHP
- PHP variables de session ✓ - Forum - PHP
- [php] Variables de session ✓ - Forum - PHP
3 réponses
kij_82
- Messages postés
- 4088
- Date d'inscription
- jeudi 7 avril 2005
- Statut
- Contributeur
- Dernière intervention
- 30 septembre 2013
Bonjour,
Lorsque tu utilises les sessions en PHP, il faut ajouter 'session_start()' au début de chaque page où tu souhaites utiliser les sessions.
Donc, si dans ta page 2, tu as bien mis session_start au début, puis mis en mémoire dans la session des valeurs récupérées via $_POST de ton formulaire, alors dans la page 3, il te suffit d'ajouter 'session_start()' en début de page et utiliser les variables de session comme tu l'as déjà fait.
Normalement ça devrait fonctionner.
Par contre attention, dans ta première page je vois deux types de champs différent avec le même nom :
Ta select box : 'echo '<select name="v_client_id" style="width:200px">'; '
et ton champ de type text plus bas : <input type="text" name="v_client_id" />
Il ne faut jamais avoir deux champs du même nom, au risque de voir certaines valeurs écrasées par celle de l'autre champ nommé de la même manière, et cela peut par la suite donner des erreurs de comportement de ton script.
Lorsque tu utilises les sessions en PHP, il faut ajouter 'session_start()' au début de chaque page où tu souhaites utiliser les sessions.
Donc, si dans ta page 2, tu as bien mis session_start au début, puis mis en mémoire dans la session des valeurs récupérées via $_POST de ton formulaire, alors dans la page 3, il te suffit d'ajouter 'session_start()' en début de page et utiliser les variables de session comme tu l'as déjà fait.
Normalement ça devrait fonctionner.
Par contre attention, dans ta première page je vois deux types de champs différent avec le même nom :
Ta select box : 'echo '<select name="v_client_id" style="width:200px">'; '
et ton champ de type text plus bas : <input type="text" name="v_client_id" />
Il ne faut jamais avoir deux champs du même nom, au risque de voir certaines valeurs écrasées par celle de l'autre champ nommé de la même manière, et cela peut par la suite donner des erreurs de comportement de ton script.
abdeslam1999
D'abord merci de votre réponse:
c'est comme ce que vous voulez dire dans la troisième page(page d'insertion)
si oui: la ligne dans la table est ajoutée mais les champs ne sont pas
<?php
session_start();
$_SESSION["v_client_id"]=$_POST["v_client_id"];
$_SESSION["date_consulte"]=$_POST["date_consulte"];
$_SESSION["etat_consulte"]=$_POST["etat_consulte"];
$_SESSION["mode_consulte"]=$_POST["mode_consulte"];
$_SESSION["rep_consulte"]=$_POST["rep_consulte"];
$_SESSION["date_rep"]=$_POST["date_rep"];
?>
<?php
echo'<form name="add" method="post" action="Traitement/ajouter_consultation.php"">';
mysql_connect("localhost","root","");
mysql_select_db("AGCS");
if (isset($_POST['valider'])) {
//Rêquete d'ajout les consultation dans la table consultation_clt
$query="insert into consultation_clt(consult_clt_id,client_id,ref_consult,date_consult,etat_consult,mode_consult,reponse_clt,date_reponse) values ('','".$_SESSION['v_client_id']."','".$_SESSION['v_ref_clt']."','".$_SESSION['date_consulte']."','".$_SESSION['etat_consulte']."','".$_SESSION['mode_consulte']."','".$_SESSION['rep_consulte']."','".$_SESSION['date_rep']."')";
$result=mysql_query($query);
}
?>
c'est comme ce que vous voulez dire dans la troisième page(page d'insertion)
si oui: la ligne dans la table est ajoutée mais les champs ne sont pas
<?php
session_start();
$_SESSION["v_client_id"]=$_POST["v_client_id"];
$_SESSION["date_consulte"]=$_POST["date_consulte"];
$_SESSION["etat_consulte"]=$_POST["etat_consulte"];
$_SESSION["mode_consulte"]=$_POST["mode_consulte"];
$_SESSION["rep_consulte"]=$_POST["rep_consulte"];
$_SESSION["date_rep"]=$_POST["date_rep"];
?>
<?php
echo'<form name="add" method="post" action="Traitement/ajouter_consultation.php"">';
mysql_connect("localhost","root","");
mysql_select_db("AGCS");
if (isset($_POST['valider'])) {
//Rêquete d'ajout les consultation dans la table consultation_clt
$query="insert into consultation_clt(consult_clt_id,client_id,ref_consult,date_consult,etat_consult,mode_consult,reponse_clt,date_reponse) values ('','".$_SESSION['v_client_id']."','".$_SESSION['v_ref_clt']."','".$_SESSION['date_consulte']."','".$_SESSION['etat_consulte']."','".$_SESSION['mode_consulte']."','".$_SESSION['rep_consulte']."','".$_SESSION['date_rep']."')";
$result=mysql_query($query);
}
?>
kij_82
- Messages postés
- 4088
- Date d'inscription
- jeudi 7 avril 2005
- Statut
- Contributeur
- Dernière intervention
- 30 septembre 2013
Oui, la base de données est donc bien mise à jour dans le script 3, mais aucun champ n'apparait c'est ca ?
Je dirai que c'est normal puisque le code du script 3 ne fait apparaitre aucun champ, seulement une mise à jour de la base de données.
Que souhaites-tu faire exactement une fois que la base est mise à jour ? Revenir sur la toute première page ?
Si c'est le cas, il faut juste que tu fasses une redirection après avoir mis à jour ta base de données (donc après avoir fermée la connexion sur ta base après avoir fait la requête de mise à jour).
Je dirai que c'est normal puisque le code du script 3 ne fait apparaitre aucun champ, seulement une mise à jour de la base de données.
Que souhaites-tu faire exactement une fois que la base est mise à jour ? Revenir sur la toute première page ?
Si c'est le cas, il faut juste que tu fasses une redirection après avoir mis à jour ta base de données (donc après avoir fermée la connexion sur ta base après avoir fait la requête de mise à jour).