Récupération de variable via session

Fermé
serge - 21 mars 2008 à 10:30
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 21 mars 2008 à 13:37
Bonjour tout le monde,

J'ai un petit soucis dans la récupération de variable non issu d'un formulaire .
J'ai suivis et respecter ( je pense) la methode d'un site php et j'utilise le $_Session .

Premiere page :

<?php session_start(); ?>
<html>
blabla my sql connect et compagnie

?>


<form name="nom" action="traitement.php" method="POST" >

Choisir le bénéficiaire à modifier <SELECT NAME='id' size='0,20'>
<?php
$sql = "SELECT * FROM t_beneficiaire ORDER BY nom_beneficiaire" ;
$res= mysql_query($sql);

while($val=mysql_fetch_array($res)) {
echo "<option value=".$val['id_beneficiaire']." >".$val['nom_beneficiaire']." ".$val['prenom_beneficiaire']."</option>\n";
$nom=$val['nom_beneficiaire'];
$prenom=$val['prenom_beneficiaire'];
}

?>

submit et compagnie ..



Donc ici je souhaite récuperer mes variables $nom et $prenom.



Seconde page

<?php session_start(); ?>
<html>
blabla bla my sql connect

<form name="modif" action="modif_champ.php" method="POST" >
<?

// je recupere le choix de la page consultation c'est a dire le nom et le prénom
$_SESSION['nom']=$_POST['nom'];
$nom=$_POST['nom'];
$_SESSION['prenom_beneficiaire']=$_POST['prenom'];
$prenom=$_POST['prenom'];

//requete permettant de trouver l'id correspondant au choix de l'utilisateur , son nom et son prénom
$id="Select id_beneficiaire from t_beneficiaire where nom_beneficiaire='$nom' AND prenom_beneficiaire='$prenom';";
//j'effectue ma requete qui va me rendre le numéro ID correspondant
$req=mysql_query($id);
echo "le nom bénéficiaire choisis est $nom et le prénom est $prenom";
echo "l id est $id";

?>
</form>

Donc l'echo au dessus me sert juste a voir si la requete peut m'afficher un resultat or la page n'affiche strictement rien .

J'ai essayer de passer ma requete en remplacant mes variables par de vrai valeur et elle fonctionne ..
Quelqun aurait il une solution à me proposer ?

4 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
21 mars 2008 à 10:38
salut,

en premier tu peux te contenter d'afficher la requête SQL pour ta tester directement dans PHPMyAdmin.
<?php
$id="Select id_beneficiaire from t_beneficiaire where nom_beneficiaire='$nom' AND prenom_beneficiaire='$prenom';";

echo $id;

//$req=mysql_query($id);
//echo "le nom bénéficiaire choisis est $nom et le prénom est $prenom";
//echo "l id est $id"; 
?>

mais pour afficher le résultat il faut ramener tes valeurs de la ressource à un tableau.
<?php
$id="Select id_beneficiaire from t_beneficiaire where nom_beneficiaire='$nom' AND prenom_beneficiaire='$prenom';";
$req = mysql_query( $id );
$row = mysql_fetch_assoc( $req );
echo "le nom bénéficiaire choisis est $nom et le prénom est $prenom";
echo "l id est ".$row['id_beneficiaire']; 
?>
0
Merci de ta réponse mathieu ,

J'ai utiliser "$row = mysql_fetch_assoc( $req );
echo "le nom bénéficiaire choisis est $nom et le prénom est $prenom";
echo "l id est ".$row['id_beneficiaire']; "

Pour voir au niveau de l'afffichage si je récuperais bien mes variables malheuresement rien ne s'affiche ..

est ce que ce passage est correct déja:
$_SESSION['nom']=$_POST['nom'];
$nom=$_POST['nom'];
$_SESSION['prenom_beneficiaire']=$_POST['prenom'];
$prenom=$_POST['prenom'];

?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
21 mars 2008 à 10:54
ça semble correct mais y a-t-il quelque chose dans tes variables ?
imprime les :
$_SESSION['nom']=$_POST['nom'];
$nom=$_POST['nom'];
$_SESSION['prenom_beneficiaire']=$_POST['prenom'];
$prenom=$_POST['prenom']; 
echo "#$prenom#$nom#";


et pense à mettre ton code en forme avec ce bouton, merci.
0
J'ai un petit peu modifier les deux codes , j'ai d'abord essayer de les "imprimer" comme tu dis .. rien ne s'affiche .. il ne récupere donc pas les variables .. mais plus etrange un echo "coucou;" n'affiche rien non plus ... j'ai vider le cache et compagnie changer de navigateur .. rien n'y fait !

page 1

?>


<form name="nom" action="traitement.php" method="POST" >

Choisir le bénéficiaire à modifier : <SELECT NAME='id' size='0,20'>
<?php
$sql = "SELECT * FROM t_beneficiaire ORDER BY nom_beneficiaire" ;
$res= mysql_query($sql);

while($val=mysql_fetch_array($res)) {
echo "<option value=".$val['id_beneficiaire']." >".$val['nom_beneficiaire']." ".$val['prenom_beneficiaire']."</option>\n";
}

?>
</select>
<input name="envoyer" type="submit" value="Envoyer"/>
</form>
</html>


page 2


<?php
mysql_connect("localhost", "root", "")or die ("erreur de connexion");
mysql_select_db("bois_guillaume")or die ("erreur de connexion à la base");
?>
<hr>
<br>
<br>
<b>Veuillez saisir le ou les champs à modifier.</b>

<form name="modif" action="modif_champ.php" method="POST" >
<?

// je recupere le choix de la page consultation c'est a dire le nom et le prénom
$_SESSION['nom_beneficiaire']=$_POST['nom'];
$nom=$_POST['nom'];
$_SESSION['prenom_beneficiaire']=$_POST['prenom'];
$prenom=$_POST['prenom'];
echo "#$prenom#$nom#";
//requete permettant de trouver l'id correspondant au choix de l'utilisateur , son nom et son prénom
$sql="Select id_beneficiaire from t_beneficiaire where nom_beneficiaire='$nom' AND prenom_beneficiaire='$prenom';";
//j'effectue ma requete qui va me rendre le numéro ID correspondant
$req=mysql_query($sql);

$row = mysql_fetch_assoc( $req );
echo "le nom bénéficiaire choisis est $nom et le prénom est $prenom";
echo "l id est" .$row['id_beneficiaire']; 
?>

</form>

<br>


<center><a href="index.php"<p>Revenir à l'acceuil</p></a></center>
</body>
</html>


Merci ..
0
ps : le
<?php session_start(); ?>
<html>
est bien sur mes deux pages
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
21 mars 2008 à 13:37
plus etrange un echo "coucou;" n'affiche rien non plus

(O_ô)'
là, on change de catégorie !…
on va pas risquer de passer deux jours à chercher ce qui ne va pas dans le script sans savoir si PHP tourne correctement.

on va faire les bourrins mais il faut clarifier ça de suite !

• redémarre l'ordi.

• au redémarrage vérifie que ton serveur Apache est bien lancé.

• crée un fichier 'phpinfo.php' que tu enregistres à la racine du serveur.

• dans le fichier :
<?php
    phpinfo();
?>


• ouvres ton navigateur et vas à http://localhost/phpinfo.php

et tu nous dis si le PHP est interprété…

si tu as les infos du serveur on pourra continuer à débuguer ton script.
0