Récupérer ID depuis l'URL, hors formulaire

Eléphanteau du PHP | 15 Messages

26 août 2011, 11:25

Bonjour,

Je souhaiterai récupérer l'ID de la page appelant dans ma page appelée en le passant dans l'URL, lorsque je clic sur un lien.
Je sais le récupérer en POST ou GET lorsqu'il s'agit d'un formulaire, mais la ce n'est pas le cas donc je ne vois pas comment récupérer cet ID dans ma page appelée ?
<td><?php echo '<a href="catalogue_produit2.php?id='.$reponse['CA_No'].' ">'.$reponse['CA_Design'].'</a>'?></td>
Merci par avance.

ViPHP
ViPHP | 2577 Messages

26 août 2011, 12:03

Via un $_POST ou un $_GET comme pour un formulaire mais un seul des 2 est possible et j'oublie toujours lequel des 2.

Eléphant du PHP | 299 Messages

26 août 2011, 14:04

tu dois aussi le mettre dans le formulaire mais en hidden (invisible), on le voit pas mais il transmet quand meme la variable.

par exemple:

<input name="test" type="hidden" value="mavariable" />

Eléphant du PHP | 250 Messages

26 août 2011, 14:16

Bonjour
Perso, je passerai par
$_SESSION['nom_variable']=valeur; 
et sur les pages, et ce avant tout!!!, :
session_start(); /* on démarre la session */
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

Eléphanteau du PHP | 15 Messages

26 août 2011, 15:10

Je n'y avait pas songé à utiliser les SESSION. Je vais utiliser cette méthode qui est la plus simple à mon avis.
Merci pour vos réponse et merci une nouvelle fois Boro84.

Je test et si ca fonctionne je mettrai résolu.

ViPHP
ViPHP | 3607 Messages

26 août 2011, 16:28

Holà les jeunes on se calme ;)

La méthode de passage de donnée via GET fonctionne très bien et est la plus simple de toute pour passer des petites données...

a.php
<a href="b.php?id=<?php echo uniqid();?>">Page B</a>
b.php
<?php
var_dump($_GET);
Utiliser des sessions ou des formulaires c'est utiliser un buldozer pour tuer une mouche ;)

Eléphant du PHP | 250 Messages

26 août 2011, 18:00

Holà les jeunes on se calme ;)

La méthode de passage de donnée via GET fonctionne très bien et est la plus simple de toute pour passer des petites données...
C'est vrai; mais dans la structure de son lien je vois ça: "catalogue_produit2, et je me dis qu'il doit utiliser déjà des sessions...d'où mon avis...
Sinon.....merci pour "les jeunes": à mon âge (le double du tien, jeune et élégant bipède, ça fait plaisir :lol:
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

Eléphanteau du PHP | 15 Messages

29 août 2011, 15:57

Je suis un petit peu perdu dans tout ça, en plus de ne pas savoir passer une variable d'une page à l'autre, j'ai des problème et je ne sais pas si c'est du à ca justement.
Code d'erreur : mysql_fetch_array() expects parameter 1 to be resource, boolean given
Elle est signalée sur la ligne du WHILE

Voici le code principal de ma page :

Code : Tout sélectionner

<?php $categ1 = var_dump($_GET); $r = mysql_query("SELECT DISTINCT CA_NoCateg2 FROM article WHERE CA_NoCateg1=$categ1"); while($d = mysql_fetch_array($r)) { $categ2 = $d['CA_NoCateg2']; $req = mysql_query("SELECT * FROM categorie WHERE CA_No=$categ2"); $reponse = mysql_fetch_array($req) ?> <tr height=4> <td bgcolor="#333333" width=300><font size=2><?php echo '<a href="catalogue_produit3.php?id='.$reponse['CA_No'].' " style="textdecoration :none">'.$reponse['CA_Design'].'</a>'?></font></td> <td> <?php $compte = mysql_query("SELECT COUNT(CA_NoCateg3) FROM article WHERE CA_NoCateg1=$categ1 AND CA_NoCateg2=$categ2"); $row = mysql_fetch_row($compte); $count = $row[0]; echo "x".$count; ?> </td> </tr>
Merci beaucoup pour le temps que vous consacré à mon problème.

ViPHP
ViPHP | 2577 Messages

29 août 2011, 16:06

Bonjour,

Cela signifie que le mysql_query() se passe mal, surement une erreur SQL.

Tu peux tester mysql_errno() et afficher mysql_error() en cas d'erreur.

Eléphanteau du PHP | 15 Messages

30 août 2011, 08:37

Bonjour,

J'ai trouvé l'erreur,
Je ne récupère pas ma variable passée en GET, comment s'utilise de var_dump(); ?
Je l'ai utilisé de cette manière sur la page appelée:
$categ1 = var_dump($_GET);
$r = mysql_query("SELECT DISTINCT CA_NoCateg2 FROM article WHERE CA_NoCateg1=$categ1");
Cordialement.

ViPHP
ViPHP | 3607 Messages

30 août 2011, 08:51

Ben pour savoir comment s'utilise la fonction var_dump(), va voir ici : http://fr2.php.net/var_dump
ça me semble être la première chose à faire :-°

Eléphanteau du PHP | 15 Messages

30 août 2011, 13:47

Merci, ceci étant dit je ne vois pas en quoi cette fonction puisse m'être utile dans mon cas.
Je souhaite récupérer l'id que j'ai passé dans le lien.

ViPHP
ViPHP | 3607 Messages

30 août 2011, 14:16

La fonction var_dump() était uniquement là pour te montrer la structure de la variable $_GET ....
Ensuite à toi de t'en servir comme n'importe quel tableau... http://www.siteduzero.com/tutoriel-3-14 ... leaux.html

Eléphanteau du PHP | 15 Messages

31 août 2011, 09:06

Je sais utiliser les tableaux !!
Mon problème n'est pas celui la.

Mon problème étant que je passe dans l'URL un ID mais pas à l'aide d'un tableaux, donc pas d'envoi en GET ou en POST, et donc je ne sais pas comment récupérer l'ID sur ma page appelé étant donné que sur la page appelant il n'y a pas de FORM donc pas de méthode de type GET ou POST !

Merci.

ViPHP
ViPHP | 2577 Messages

31 août 2011, 09:14

Si l'url affichée dans le navigateur est du genre tapage.php?id=12345, tu trouveras bien 12345 dans $_GET['id'] (à moins que ce soit $_POST['id'] je confond souvent).
Par besoin de formulaire pour ca.