Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1280 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Comment passer une variable de session par un lien

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment passer une variable de session par un lien

n°1266071
rolrol
Posté le 14-12-2005 à 01:33:08  profilanswer
 

Bonsoir tous,
 
Je m'explique  :D  je passe une variable par la méthode GET comme ceci :

Code :
  1. <? echo '<a href="saisie.php?modifier=' . $donnees['id_bca'] . '">'; ?><? echo stripslashes($donnees['nom']); ?>


Jusqu'a la pas de probléme, mais je n'arrive pas à faire la meme chose avec une session  :cry:  
J'ai tenté ceci :

Code :
  1. <a href="saisie.php"><? $_SESSION['modifier'] = $donnees['id_bca']; ?><? echo stripslashes($donnees['nom']); ?></a>


 
Mais sans succés.... Si quelqu'un pouvait m'aider ???
 
Merci d'avance.
 
PS: la session est démarrer bien avant dans le code par

Code :
  1. <? session_start(); ?>

mood
Publicité
Posté le 14-12-2005 à 01:33:08  profilanswer
 

n°1266077
art_dupond
je suis neuneu... oui oui !!
Posté le 14-12-2005 à 02:56:42  profilanswer
 

qu'est-ce que tu veux faire au juste ?
tu n'as pas besoin de "passer" ta variable de session puisqu'elle "existe toujours" (pour autant que tu ais fait un session_start())

n°1266117
Xav_
The only one...
Posté le 14-12-2005 à 09:54:07  profilanswer
 

dac avec art_dupond, les variables de session sont justement là pour accéder depuis toutes les pages sans avoir besoin de faire passer quoi que ce soit...
 
maintenant, tu peux utiliser une valeur passée dans une variable $_GET pour mettre à jour ta variable de session...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1266119
mechkurt
Posté le 14-12-2005 à 10:05:36  profilanswer
 

vous lisez le code avant de repondre ?
 
il se sert d'une variable de session pour savoir qu'elle variable modifier
et si son code marche pas c'est qu'il a oublié une echo...
(apres on est pas la pour dire si ca methode est judicieuse ou non)
 
EDIT: et un ? (en fait c'est un peu le bordel son truc)


Message édité par mechkurt le 14-12-2005 à 10:07:50

---------------
D3
n°1266292
rolrol
Posté le 14-12-2005 à 13:24:28  profilanswer
 

Salut,
 
En fait avec la méthode "$_GET" je passe ma variable par l'URL, ok c'est trés bien ! mais il faut que je la passe de page en page, et c'est pas pratique parce que à chaque fois il faut que je genére du code supplémentaire.
 
Alors qu'avec la variable de session je genére ma variable une seule fois ! Mais le probléme et que je récupére le numéro de l'id différent à chaque nom, mais comme c'est codé la et en rajoutant un "echo" devant ou pas d'ailleurs le fonctionnement reste le meme,  j'ai toujours la meme "id", a savoir pour l'exemple la un "2".
 
Voila j'espére que vous m'avez à peu prés compris et quel mode de onctionnement je recherche.
 
Merci d'avance

n°1266297
Berceker U​nited
PSN : berceker_united
Posté le 14-12-2005 à 13:29:36  profilanswer
 

Code :
  1. <a href="saisie.php"><? $_SESSION['modifier'] = $donnees['id_bca']; ?><? echo stripslashes($donnees['nom']); ?></a>


J'ai comme un malaise quand je vois cela.  [:jofusion]  
Déjà ton affection à la session n'a rien à faire là.  j'ai pas super compris ton affaire.

Code :
  1. <a href="saisie.php?ma_variable=<?=$donnees['id_bca'];?>"><? echo stripslashes($donnees['nom']); ?></a>


??


Message édité par Berceker United le 14-12-2005 à 13:30:34
n°1266339
art_dupond
je suis neuneu... oui oui !!
Posté le 14-12-2005 à 14:07:44  profilanswer
 

je n'ai peut etre pas bien compris, mais quand tu passes ta variable par l'url, tu la récupères sur ta "nouvelle" page avec $_GET['modifier']
 
avec les variables de sessions, tu la récupères avec $_SESSION['modifier'].
 
sinon tu peux expliquer ce que tu entends par: "sans succès" ?
tu fais quoi exactement sur la page saisie.php (concernant cette variale) ?


Message édité par art_dupond le 14-12-2005 à 14:07:55
n°1266397
flo850
moi je
Posté le 14-12-2005 à 15:14:49  profilanswer
 

au vu de ton code, le $_SESSION['modifier'] contiendra toujours le contenu du $donnees['id_bca'] de ta dernière ligne générée
 
ce qui est tout  a fait logique ( mais pas ce que tu veux faire )
 
les affectations sont toutes faites lors de la lecture du script par php
il n'y a donc que la derniere qui reste


Message édité par flo850 le 14-12-2005 à 15:15:42

---------------

n°1266413
rolrol
Posté le 14-12-2005 à 15:30:51  profilanswer
 

Donc en fait ce que je veut faire n'est pas possible ? Je doit utiliser la méthode get ? Mais je trouve bizarre de pas pouvoir le faire de cet maniére alors que je l'ai déja fait avec post. Tant pis merci quand meme.

n°1266416
flo850
moi je
Posté le 14-12-2005 à 15:34:48  profilanswer
 

je pense que tu ne peux pas le faire avec session  
 
post et get ont un comportement assez proche
 
SESSION est a part  
 


---------------

mood
Publicité
Posté le 14-12-2005 à 15:34:48  profilanswer
 

n°1266521
rolrol
Posté le 14-12-2005 à 16:37:30  profilanswer
 

J'ai tout modifié et $_session renvoie bien un numéro différent a chaque fois.
Le probléme est que j'affiche toujours la derniére fiche malgré que j'envoie des "id" différente.
Je vous met le code complet de la requete.
 
J'envoi de cet maniére la :
Page "liste.php"
<?
$retour = mysql_query('SELECT * FROM bca ORDER BY nom') or die (mysql_error());
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les fiches
{
?>
<? echo stripslashes($donnees['prenom']); ?>
<? echo stripslashes($donnees['nom_correspondant']); ?>
<? echo stripslashes($donnees['telperso']); ?></td>
 
 
<form action="saisie.php" target="_self" method="post">
<input type="hidden" name="id" value="<? echo $_SESSION['id'] = $donnees['id_bca'];?>" />
<input name="Submit2" type="submit" value="Envoi">  
</form>
 
<?
} // Fin de la boucle
?>
 
Et je recois comme ça :
Page "saisie.php"
<?  
if (isset($_SESSION['id'])) // Si on demande de modifier une fiche
{
    // On récupère les infos de la correspondante
    $retour = mysql_query('SELECT * FROM bca WHERE id_bca=' . $_SESSION['id']);
    $donnees = mysql_fetch_array($retour);
     
    // On place le titre et le contenu dans des variables simples
    $nom = $donnees['nom'];
    $prenom = $donnees['prenom'];
 $telperso = $donnees['telperso'];
..... etc ?>
 
Le probléme est que j'affiche toujours la derniére fiche malgré que j'envoie des "id" différente.

n°1266613
art_dupond
je suis neuneu... oui oui !!
Posté le 14-12-2005 à 17:59:44  profilanswer
 

qu'est-ce qui t'embete avec $_POST et $_GET :??:  
 
tu fais pareil sans utiliser $_SESSION et dans saisie.php, tu remplaces $_SESSION['id'] par $_POST['id']
 
 
ps: je crois que tu n'as pas bien compris l'utilité des variables de session. Elles servent à garder une valeur d'une page à l'autre.
 
dans liste.php, $_SESSION['id'] aura la valeur du dernier $donnees['id_bca'];
 
dans saisie.php, $_SESSION['id'] aura la même valeur, c'est à dire la valeur du dernier $donnees['id_bca'] dans liste.php...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Comment passer une variable de session par un lien

 

Sujets relatifs
Pb session freeQu'est-ce qui ne va pas avec mon lien ?
passer de l'image 1 à l'image 2[pascal]comment faire passer une fenetre graphique au premier plan?
Question sécurité session généraleJavascript : Variable num et alpha
problème avec les sockets pour passer de windows a linuxvariable et méthode "de classe" en Javascript ...
passer un pointeur en parametre sans initialiser avant?Quels outils pour passer de xml à html?
Plus de sujets relatifs à : Comment passer une variable de session par un lien


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR