Deux requêtes SQL

Répondre
dededick
le 04/02/2007 à 13:33
dededick
bonjour, j'ai un nouveau problème : c'est à propos de requêtes SQL :
Voici mon code :


<?php
session_start();
if (!isset($_SESSION['pseudo'])) {
header ('Location: index.php');
exit();
}
?>
<?php
mysql_connect("localhost","*","*");
mysql_select_db("*");
$sql = "SELECT * FROM membre WHERE pseudo='".$pseudo."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);

$pseudo=$data['pseudo'];
$nom=$data['nom'];
$age=$data['age'];
$sexe=$data['sexe'];
$argent=$data['argent'];
$intelligence=$data['intelligence'];
$humeur=$data['humeur'];
$faim=$data['faim'];
$sante=$data['sante'];
$maison=$data['maison'];
$tele=$data['tele'];
if ($age < 18)
{
echo "
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="color.css" />
<title>Maison</title>
</head>

<body>
<div id="header"></div>";
echo"<div align="right">";

$date = date("d-m-Y");
$heure = date("H:i");?>
<?php
echo " $date ";?>
<?php
echo " $heure"; ?>
<?php
echo"</div>";
echo"<div id="menu">
";

echo "Pseudo:"; echo $pseudo; echo $nom;
echo"<br/>";
echo"Vous êtes un(e):"; echo $sexe; echo"<br/>";
echo"Argent: "; echo $argent; echo" €"; echo "<br/>";
echo"Intelligence: "; echo $intelligence; echo"/10000"; echo"<br/>";
echo"Humeur: "; echo $humeur; echo"/10000"; echo "<br/>";
echo"Faim: "; echo $faim; echo"/10000"; echo "<br/>";
echo"Sante: "; echo $sante; echo"/10000"; echo "<br/>";
$sql = "SELECT pseudo,metier FROM membre WHERE boutique = 1 ORDER BY pseudo";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
mysql_close ();
$pseudo = $data['pseudo'];
$metier = $data['metier'];
echo"
<ul>
<li><a href="membre.php"> Acceuil </a></li>
<li><a href="maison.php"> Maison </a></li>
<li><a href="ville.php">Ville </a></li>
<li><a href="ecole.php"> Ecole </a></li>
<li><a href="activite_enfant.php">Activité </a></li>
<li><a href="faq.php"> FAQ </a></li>
<li><a href="forum"> Forum </a></li>
<li><a href="deconnexion.php">Déconnexion</a></li>
</div>
<div id="corps">

Boutiques : <br/>
<ul>
<li><a href="fnac.php"> FNAC </a></li>
<li><a href="gde_surface.php"> Grande Surface </a></li>
<li>
<a href="boutique.php?pseudo=$pseudo&amp;metier=$metier">"; echo $metier; echo"</a></li>
</ul>
<br/>
<center> Recherche par métier : </center><br/>
<form action="recherche_boutique.php" method="post">
Profession (boulanger, barman ...)<input type="text" name="metier" value=""/><br/>
<input type="submit" value="Cherche"/>
</form></div>
</body>
</html>
";
}
?>


Il m'affiche la page correctement, mais le problème, c'est que quand je clique sur le lien, et que je retourne sur la page précédente, je me retrouve sur le compte de la personne dont le métier a été afficher. Commen faire pour empêcher cela? merci smiley
i M@N
le 15/02/2007 à 01:38
i M@N
Hello !

Réponse : en codant en register_global à off, c'est à dire en définissant tes variables et en les initialisant qu'elles soient issues de $_GET, $_POST, $_SESSION ou $_COOKIE histoire de pas te retrouver avec une variable $pseudo issue de $_GET au début du script et issue d'un champ de ta base de données à la fin (en gros c'est ce qui t'arrive, ta variable $pseudo qui varie je pense).

Donc initialise une variable qui vient de ton formulaire en tant de $variable_form et celle qui vient de ta base en tant que $variable_bdd par exemple et code en register global à off.

@+...
One Love, One Heart, One Unity.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours