Aide pour SESSION en php

Fermé
Flowneo Messages postés 88 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 30 août 2012 - 26 mai 2010 à 16:29
fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 - 27 mai 2010 à 10:30
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...



6 réponses

fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 74
Modifié par fxtaa le 27/05/2010 à 10:31
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 lundi 13 juillet 2009 Statut Membre Dernière intervention 5 avril 2011 9
26 mai 2010 à 16:32
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 jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 688
26 mai 2010 à 16:33
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 lundi 31 mars 2008 Statut Membre Dernière intervention 30 août 2012
Modifié par Flowneo le 27/05/2010 à 09:18
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 74
27 mai 2010 à 10:16
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 jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 688
Modifié par Neliel le 27/05/2010 à 10:03
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 lundi 13 juillet 2009 Statut Membre Dernière intervention 5 avril 2011 9
Modifié par CRBHD le 27/05/2010 à 10:06
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