[php] variable (caché) dans lien

variable (caché) dans lien [php] - PHP - Programmation

Marsh Posté le 11-06-2007 à 14:23:47    

Bonjour,
 
j'ai besoin d'un pe d'aide :)
 
j'ai une page qui a un lien qui renvoi vers une autre page (la classe  :D  )
avec ce lien :  
 
a href=\"accueil.php?page=clemenceau\"
 
j'aimerais savoir s'il etait possible de faire paser une variable d'une page à l'autre
sans changer (evidement) le chemin du lien.
ma variable s'appelle 'nom' et le but et de l'utiliser sur l'autre page ds ce style de requete :
 

Code :
  1. $nom = $_GET['nom'];
  2. $select = 'SELECT * FROM appart WHERE nom = "'.mysql_real_escape_string($nom).'"';


 
merci  :hello:
 
edit :
 
peut etre je peux arriver a ce que je veur avec un truc du style :
 

Code :
  1. echo "<input type=\"hidden\" name=\"nom\" value=\"".$_GET['nom']."\">";


 
mais bon pour le moment ca marche pas


Message édité par azylum01 le 11-06-2007 à 14:44:28
Reply

Marsh Posté le 11-06-2007 à 14:23:47   

Reply

Marsh Posté le 11-06-2007 à 15:16:46    

Mouais, c'est un peu la base de PHP ça, tu pourrais peut-être chercher dans la doc, ça ferait pas de mal (cherche du côté des sessions par exemple).


---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le 11-06-2007 à 15:45:42    

deja cherché dans session mais j'vois pas trop comment l'aplliquer

Reply

Marsh Posté le 11-06-2007 à 16:03:22    

Et pourquoi se priver de quelque chose comme ça :
accueil.php?page=clemenceau&nom=pouet
???


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 11-06-2007 à 16:17:34    

tu veux dire un truc du style :
 
a href=\"accueil.php?page=clemenceau&nom=\"".$_GET['nom']."\" ?

Reply

Marsh Posté le 11-06-2007 à 16:22:21    

Ba si la valeur est dans $_GET['nom'] et que tu souhaite la passer à accueil.php oui pourquoi pas?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 11-06-2007 à 16:38:43    

ben est ce que la valeur est dans $_GET['nom'] ...je l'espere ^^
et en fait je souhaite la faire passer a la page acueil.php?page=clemenceau  (j'utilise les pseudo frame)
 
... j'ai une page qui liste les 'nom' de ma base de données :
toto
titi
tata
 
c liens renvois sur la meme page mais j'aimerais pouvoir recuperer
la valeur du champ 'nom' pour une requete du style :
 
'SELECT * FROM appart WHERE nom = "mon lien choisi"
 
merci

Reply

Marsh Posté le 11-06-2007 à 16:48:03    

Ba je vois pas ou est ton problème...
Quand tu fais ta liste de liens tu dois obtennir quelque chose comme ça :
<a href="accueil.php?page=clemenceau&nom=toto">toto</a>
<a href="accueil.php?page=clemenceau&nom=titi">titi</a>
<a href="accueil.php?page=clemenceau&nom=tata">tata</a>

 

Donc dans ta page accueil.php tu récupére le tableau $_GET contenant deux valeurs : d'une part $_GET['page'] qui a pour valeur clemenceau et $_GET['nom'] qui a pour valeur soit toto, soit titi , soit tata en fonction du lien qui a été cliqué.


Message édité par dwogsi le 11-06-2007 à 16:48:30

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 11-06-2007 à 17:01:16    

bon mon principal probleme et pour le moment que ca marche pas  [:ddr5s5]  
 
donc j'ai ca :
 

Code :
  1. $select = "SELECT * FROM table ORDER BY nom";
  2. $result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
  3. $total = mysql_num_rows($result);
  4. $description = substr($description, 0, 40).'…';
  5. if($total) {
  6.     while($row = mysql_fetch_array($result)) {
  7. $nomMaj = ucfirst($row[nom]);
  8. $desccriptionCut = substr($row[description], 0, 150).'…';
  9. $dossierImg = ($row[nom]);
  10. echo "<table class=\"lien\">";
  11. echo "<tr>";
  12. echo "<td class=\"contact_padless\" rowspan=\"2\"><img src=\"galeries/".$row[nom]."/intro.jpg\" border=\"0\" width=\"190\" height=\"125\" alt=\"\"></td>";
  13. echo "<td class=\"contact_vcenter\" width=\"150\" rowspan=\"2\">$nomMaj</td>";
  14. echo "<td class=\"contact\">$desccriptionCut</td>";
  15. echo "</tr>";
  16. echo "<tr>";
  17. echo "<td class=\"contact\"><a href=\"#\" class=\"footer\"><a href=\"accueil.php?page=clemenceau&nom=\"".$_GET['nom']."\" class=\"footer\">• accéder à la description</a></td>";
  18. echo "</tr>";
  19. echo "</table>";
  20. echo "</div>";
  21. }
  22. }
  23. else {
  24.   echo 'Pas d\'enregistrements dans cette table...';
  25. }
  26. // on libère le résultat
  27. mysql_free_result($result);


 
... donc ca c la page qui me fait un petit resumé de ce contient ma table et quand on clique sur le lien j'aimerais
pouvoir afficher toute les infos avec une page style comme ca :
 

Code :
  1. $nom = $_GET['nom'];
  2. $select = 'SELECT * FROM table WHERE nom = "'.mysql_real_escape_string($nom).'"';
  3. $result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
  4. $total = mysql_num_rows($result);
  5. if($total) {
  6.     while($row = mysql_fetch_array($result)) {
  7. $dossierImg = ($row[nom]);
  8.      echo "<table>";
  9.      echo "<tr>";
  10.      echo "<td class=\"contact_padless\" width=\"400\"><img src=\"galeries/".$row[nom]."/intro.jpg\" border=\"0\" width=\"190\" height=\"125\" width=\"400\" height=\"241\" alt=\"\"></td>";
  11.      echo "<td class=\"contact\">".$row[description]."</td>";
  12.      echo "</tr>";
  13.      echo "<tr>";
  14.      echo "<td class=\"contact\">".$row[description_detail]."</td>";
  15.      echo "</tr>";
  16.      echo "<tr>";
  17.      echo "<td class=\"contact\" colspan=\"2\">";
  18.    
  19.                                          .........
  20.    echo "</table>";
  21. }
  22. }
  23. else {
  24.   echo 'Pas d\'enregistrements dans cette table...';
  25. }


 
voila, bon je suis surement loin du compte ^^
 
ps : je regle se pbl et je passe au div  :sol:


Message édité par azylum01 le 11-06-2007 à 17:02:38
Reply

Marsh Posté le 11-06-2007 à 23:27:42    

bon pour ceux que ca interresse je cherche encore mais g tjs pas trouvé  [:cupra]

Reply

Marsh Posté le 11-06-2007 à 23:27:42   

Reply

Marsh Posté le 12-06-2007 à 07:51:21    

Cette ligne est louche :

 
Code :
  1. echo "<td class=\"contact\"><a href=\"#\" class=\"footer\"><a href=\"accueil.php?page=clemenceau&nom=\"".$_GET['nom']."\" class=\"footer\">• accéder à la description</a></td>";
 


Pourquoi ne pas utiliser une syntaxe plus légère grâce auxx single-quotes ? En plus y'a des bugs, entre les deux <a>, les "" autour du nom, les & pas escapés, le nom affiché comme ça (bonjour la faille de sécurité) [:johneh]

 
Code :
  1. echo '<td class="contact"><a href="accueil.php?page=clemenceau&amp;nom=' . htmlspecialchars($_GET['nom'], ENT_QUOTES) . '" class="footer">Description</a></td>';


Message édité par FlorentG le 12-06-2007 à 07:51:59
Reply

Marsh Posté le 12-06-2007 à 11:36:39    

salut,
 
merci pour ton aide.
 
donc maintenant avec cette methode ma variable 'nom' passe d'une page à l'autre, mais je n'arrive tjs pas à
la recuperer ds ma requete il me marque "Pas d'enregistrements dans cette table... "  
 
++
azy  :jap:

Reply

Marsh Posté le 12-06-2007 à 11:40:18    

Drapal, je sens du potentiel dans ce sujet.

Reply

Marsh Posté le 12-06-2007 à 14:02:59    

encore moais  [:benny hill]  
 
 
donc pour le moement j'ai ca :
a href="accueil.php?page=clemenceau&amp;nom=' . htmlspecialchars($_GET['nom'], ENT_QUOTES) . '"
 
...je n'arrive tjs pas à la recuperer...dans l'autre page j'ai juste ca :
 
$nom = $_GET['nom'];
echo 'utilisateur :' .$nom;
et j'ai comme resultat : utilisateur :      (donc rien)
 
par contre si je fait :
a href="accueil.php?page=clemenceau&amp;nom=toto
bon bne la j'ai : utilsateur : toto
 
je croyais que j'arrivais pas à la recuperer mais en fait c plutot quelle passe pas  :whistle:  
 
bon je continue à chercher mais si qq1 avait une idée ou plutot la soluce pour la faire passer par le lien,
je prend ^^

Reply

Marsh Posté le 12-06-2007 à 14:11:09    

bon j'avance un ptit peu...
j'ai ca  :
 
...
$user = ($row[nom]);
...
...accueil.php?page=clemenceau&nom=$user
 
et la ca marche !!
 
bon j'essaye de faire fonctionner ma requete et je reviens

Reply

Marsh Posté le 12-06-2007 à 15:34:36    

bon c ok pour la requete aussi :
 
donc le bout de code qui contient le lien qui envoie la variable :
 

Code :
  1. ...
  2. if($total) {
  3.     while($row = mysql_fetch_array($result)) {
  4. $nom = ($row[nom]);
  5. ....
  6. <a href="accueil.php?page=clemenceau&nom=$nom">


 
et pour utiliser cette variable dans accueil.php
 

Code :
  1. $nom = $_GET['nom'];
  2. $select = 'SELECT * FROM appart WHERE nom = "'.mysql_real_escape_string($nom).'"';


 
bon ca marche mais c du rustre ^^, si qq1 veut corriger/ameliorer c'est volontier  :sol:  
 

Reply

Marsh Posté le 15-06-2007 à 16:55:22    

Personnellement, j'opterais pour la solution de cgo2 : utiliser la variable _SESSION[].
 
Si tu patauge, suit un petit bout de ce tutoriel.
 
http://www.siteduzero.com/tuto-3-1 [...] #ss_part_2
 
Bon courage  :hello: .

Reply

Marsh Posté le 18-06-2007 à 01:18:04    

salut Danaan,
 
j'avais essayé de faire qqchose avec les sessions mais j'etait pas arrivé a grand chose.
merci pour le lien je jette un oeiil et j'essaye de bidouiller un truc  :)  
 
tchuss
 :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed