Une requete dont le resultat ne s'affiche pas

toolteur -  
 toolteur -
Bonjour,

Ma requette ne s'affiche pas :/

<?php
 // Démarrage ou restauration de la session
session_start();
  
// Lecture d'une valeur du tableau de session
echo $_SESSION['name'];

$db = mysql_connect("sql.free.fr", "toolteur", "motdepass");

// on seléctionne la base
mysql_select_db('toolteur',$db); 


?> 
<?php
// lancement de la requete  
$sql = 'SELECT surname FROM peoples WHERE name = "$name"';  

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  

 // on recupere le resultat sous forme d'un tableau  
 $data = mysql_fetch_array($req);  
 
// on libère l'espace mémoire alloué pour cette interrogation de la base  
 mysql_free_result ($req);  
 mysql_close ();  
 ?>
Votre surname est :<br />
<?php echo $data['surname']; ?>

<a href="/logout.php">Deconnection</a><br><br><br>
<img
 style="width: 200px; height: 300px;" alt=""
 src="http://www.yesitis.com/yes/yes/reyes.jpg"></td>
    </tr>
  </tbody>
</table>
<b><br>
</b>
</body>
</html>


le surname ne veut donc pas s'afficher, le resultat c'est juste :
Votre surname est :


si vous pouvez m'aider...

merci d'avance !
A voir également:

7 réponses

Alain42
 
Bonjour,

si tu lis la variable de session il faut la charger dans la variable qui te sert à faire la requette:

$name= $_SESSION['name'];


Je ne vois nulle part ailleurs $name.

@lain
0
toolteur
 
echo $_SESSION['name'];
$name= $_SESSION['name'];

ne marche pas :/
0
Alain42
 
Est ce que echo $_SESSION['name'] écrit qq chose ?

si tu mets :

$name= $_SESSION['name'];
echo "Valeur session lue: ".$name;


Qu'est ce que tu as comme Valeur session lue: ?

Il faut peut être bien que tu charges dans une de tes pages au moment de session start $_SESSION['name']='le_nom'
0
toolteur
 
$name= $_SESSION['name'];
echo "Valeur session lue: ".$name;

donne :

Valeur session lue: test1

test1 étant le name, tout va bien !

Parcontre pour ce qui est du surname, il ne s'affiche toujours pas
0

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

Posez votre question
toolteur
 
Avec ça le surname s'affiche mais impossible de le reutiliser plus bas :/
<?php
// lancement de la requete  
$req = mysql_query("select surname from `peoples` where name='$name'");

while ($val = mysql_fetch_array($req)){
echo "<tr><td>".$val['surname']."</td></tr>\n";
$perso= $_SESSION['surname'];

}

echo "Bienvenue <b>$name</b>.<br>
Votre surname est : $surname<br><br>
Ceci est une page test <br><br>
";

 mysql_free_result ($req);  
 mysql_close ();  
 ?>


comment faire pour qu'il s'affiche en dessous de bienvenue $name qui lui s'affiche tres bien ?

voilà ce que j'ai sur ma page :

testa Bienvenue test1.
Votre surname est

Ceci est une page test 



testa est le surname ; test1 est le name
0
naruto-94 Messages postés 904 Statut Membre 188
 
salut,

tu peux creer un tableau ,

<?php

$ArraySurname = array ();

// lancement de la requete
$req = mysql_query("select surname from `peoples` where name='$name'");

while ($val = mysql_fetch_array($req))
{
echo "<tr><td>".$val['surname']."</td></tr>\n";
$perso= $_SESSION['surname'];
array_unshift ($ArraySurname, $val['surname'])
}

echo "Bienvenue <b>$name</b>.<br>
Votre surname est : $ArraySurname[0] <br><br>
Ceci est une page test <br><br>

";

mysql_free_result ($req);
mysql_close ();
?>

Je n'ai pas tester mais je crois que sa marche .
0
toolteur
 
j'ai du modifier (histoire de "{") mais ça marche

merci !
0