Aide pour SESSION en php

Flowneo Messages postés 88 Date d'inscription   Statut Membre Dernière intervention   -  
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'aurais voulus affecter une variable de session lorsque je clique sur un lien mais je ne trouve pas de solution...

en PHP:

j'ai une boucle while qui me fait une liste de tous les "élements" de ma base de donnée client. lorsque je clique sur un lien relatif au client sur le site j'aurais voulus mettre en $_SESSION['...'] le nom ou le lien sur lequel j'ai cliquer, sauf que si je met l'affectation dans ma boucle je vous laisse deviner ce qui ce passe...je ne trouve pas de solution...

merci à ceux qui vont m'aider...



A voir également:

6 réponses

fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
Ca devrait fonctionner :
<?php  

session start (); 

if (isset ($_GET['id_client'])){ 
 $_SESSION['id_client']=$_GET['id_client']; 
} 

if (isset ($_SESSION['id_client'])){ 

 $id=$_SESSION['id_client']; 
 $rqt = "SELECT * FROM clients WHERE id='$id';"; 
  
 //etc...... 
} 
else { 

 if (isset($_POST['nouvelleTache'])){  
  $requeteAfficherClient = ' select * from clients';  
  $resultatRequetteAffichage = mysql_query($requeteAfficherClient);  

  echo '<table><tr><th align="left" bgcolor="Orange">Liste des Sites clients</th></tr></table>';  

  //boucle qui affiche les liens des clients  
  while ($ligneClients = mysql_fetch_assoc($resultatRequetteAffichage)){  

 // On suppose que ta un id en clé primaire unique dans ta table "clients" 
   echo '<table><tr><td><b><a href="[url_de_ta_page]?id_client='.$ligneClients["id"].'" class="type1">'.$ligneClients["url"].'</a></b></td></tr>';  
   

  } 
  echo '</table>';  
 } 
}
?> 
1
CRBHD Messages postés 136 Date d'inscription   Statut Membre Dernière intervention   9
 
Tu nous laisse deviner ? ^^ dur dur !

On peut voir le bout de code concerner peut-être ?

:)
0
Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
Bonjour,

C'est rare de vouloir mettre un ou des liens en session... généralement, les variables de session sont utilisés pour l'identification sur un site, afin d'éviter de trimballer l'identification à chaque formulaire.

Pourquoi souhaites-tu mettre un lien en session ?
0
Flowneo Messages postés 88 Date d'inscription   Statut Membre Dernière intervention  
 
si vous avez un solution pour que je puisse retrouver le client sur lequel j'ai cliquer auparavant ça serait sympa voici un bout de mon code:

//ce code permet d'afficher les liens vers les clients , je voudrais donc garder en session le client sur lequel j'ai cliqué sur son lien


//requette sql pour afficher la table clients
if (isset($_POST['nouvelleTache'])){
$requeteAfficherClient = ' select * from clients';
$resultatRequetteAffichage = mysql_query($requeteAfficherClient);

echo '<table><tr><th align="left" bgcolor="Orange">Liste des Sites clients</th></tr></table>';

//boucle qui affiche les liens des clients
while ($ligneClients = mysql_fetch_assoc($resultatRequetteAffichage)){

echo '<table><tr><td><b><a href='.$ligneClients["pageClients"].' class="type1 )">'.$ligneClients["url"].'</a></b></td></tr>';
echo '</table>';

}
0
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
alors déja on va éviter de refermer ta table a chaque fois dans ta boucle ^^, en plus je vois pas trop l'intéret d'un tableau à une entrée m'enfin bon c'est un détail.

Je te fais le code j'arrive
0

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

Posez votre question
Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
Je comprend mieux... oui dans ce cas, les sessions sont tout indiqué.

Tu as trois solutions pour trimballer une variable de page php en page php.

1) Les sessions (la plus pratique)

Cependant toutes tes pages qui utilisent des variables de session doivent débuter par:

session_start();


Ensuite tu initialise une variable de session comme n'importe quel autre variable:

$_session['nom'] = "Jean-Luc";


2) Les post (un peu contraignant car faut pas les oublier de formulaire à formulaire)

Pour balader une variable de post, il faut la renseigner dans le formulaire, si la variable ne concerne pas directement le formulaire, tu dois la mettre en hidden:


<?php 
$nom = $_post['nom'];  //Dans le cas où la variable provient déjà d'une autre page 

?> 

<p> 
<form action="mapage.php" method="post"> 
<input type="hidden" name="nom" value="<?php echo $nom;?>" /> 
... 
<input type="submit" value="OK" /> 
</form> 
</p> 



Tu la récupère dans mapage.php sous la forme:

$_post['nom']


3) Les get (même soucis que le post... en pire car non sécurisé)

"Trotti Trotta, Monsieur P, il y a des anges qui veulent un bisou..."
"Même les joujou de Monsieur P ont besoin de joujou"
0
CRBHD Messages postés 136 Date d'inscription   Statut Membre Dernière intervention   9
 
Hello,

Que contient $ligneClients["pageClients"] ?

Si c'est une page xxx.php, tu peut utiliser un $_GET en mettant

$ligneClients["pageClients"] . "?idclient=" . $iddetonclient

et dans la page de résultat le mettre dans ta variable de session.
0