Passage de variable par url en PHP

Résolu/Fermé
wadagobert - 25 mars 2009 à 17:29
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 26 mars 2009 à 16:54
Bonjour,
Je n'arrive pas à passer une variable par url et c'est pourquoi je sollicite votre aide ...et merci par avance!!

voici le code dans la page emettrice:
<?php
$I = 0;
while ($I < 4)
{
echo $tabl_reqt[$I]['titre']. "<br />";
$ident = $tabl_reqt[$I]['id'];
$Nomphoto = $tabl_reqt[$I]['photo'];
echo '<td><a href="lanews.php?ide=$ident"><img src="' . $Nomphoto . '" /></a></td>'. "<br />"; echo "<br />";
$I++;
}
?>

voici le code dans la page réceptrice:
<?php
$cnx = mysql_connect( "localhost", "root", "" ) ;
$db = mysql_select_db( "test" ) ;
$ide = $_GET["ide"] ;

//requête SQL:
$result = mysql_query('SELECT * FROM news WHERE id = $ide') ;

voici le message d'erreur récupéré dans la page réceptrice:

Unknown column '$ide' in 'where clause'

MERCI BEAUCOUP
A voir également:

14 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 mars 2009 à 17:32
il faut utiliser $_GET['ide']
enfin, vu que c'est dans une variable, ca devrai faire $_GET[ide]
0
Utilisateur anonyme
25 mars 2009 à 17:32
il faut que tu utilise un formulaire pour faire passer des variables d'une page a une autre. C'est obligatoire

va voir ce lien pour apprendre

https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 mars 2009 à 17:34
non, il peut faire passer des variables de 3 manières:
1- dans l'URL, comme il le fait: récupération en GET
2- dans un formulaire: récupération en GET ou POST, suivant le choix qu'il fait dans la methode du formulaire
3- avec les sessions

t'es sur que tu développes en php dante ??
0
Utilisateur anonyme > Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014
25 mars 2009 à 17:36
lis le tutorial du site du zéro sir je sais pas coder
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192 > Utilisateur anonyme
25 mars 2009 à 17:48
0
Utilisateur anonyme > Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014
25 mars 2009 à 17:50
oué donc il va rentre toutes ses variable à la main c'est bien ....
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 mars 2009 à 17:44
tu dis que c'est obligatoire d'utiliser un formulaire ...; non, c'est pas vrai

une variable peut etre passée dans une URL, la preuve, je fais une recherche, je t'envoi le lien, tu n'as qu'une URL, et tu as les résultats de ma recherche:

click ici pour avoir la preuve:
https://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=9Ar&q=Answer+to+Life%2C+the+Universe%2C+and+Everything&btnG=Rechercher&meta=&gws_rd=ssl

tu m'explique ou il est el formulaire la ???

les variables passées en GET sont celles qui suivent le ? de l'url ....
0
Non nous ne sommes pas obligés de passer par un formulaire...
d'ailleurs je l'ai déja fait et ca marche trés bien.... mais là...je ne vois pas l'erreur .....

OU EST L'ERREUR??
merci à tous
0
Salut,
voici le message que j'obtiens
Unknown column '$ide' in 'where clause'
0

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

Posez votre question
Utilisateur anonyme
25 mars 2009 à 17:45
le bouton rechercher c'est quoi a ton avis ??
la validation d'un formulaire ...

d'ailleurs quand tu regardes le code source de la page de google tu trouves quoi

<form action="/search" name=f>


ne serait-ce pas un formulaire ?
0
Merci les gars

Mais pouvez_vous m'aider à passer cette variable par URL?
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 mars 2009 à 17:58
<form id="sfrm" name="f" method="get" action="/search">
maintenant toi avant de ramener ta fraise, tu vas voir le lien que je t'ai passé...

sur cete url
https://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=9Ar&q=Answer+to+Life%2C+the+Universe%2C+and+Everything&btnG=Rechercher&meta=&gws_rd=ssl

la recherche est answer to life, etc..

si tu regardes l'url, tu vera:

www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=9Ar&q=Answer+to+Life%2C+the+Universe%2C+and+Everything&btnG=Rechercher&meta=

bha tien, si c'est pas une info venant de la page précédente qui est passé dans un lien celle la, j'veux bien me faire couper la b...arbe
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 mars 2009 à 17:54
je ne vois pas d'erreur dans ton code. Es ce que tu as bien ton ide présent dans l'url du la page quand tu cliques sur ton lien ?
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 mars 2009 à 18:00
essayes ca:

$result = mysql_query("SELECT * FROM news WHERE id = '".$ide."'") ;

fais un copier coller car il y a des apostrophes et des guillemets collés
0
Merci Nabla's,
ça s'est un peu amélioré en ayant fait le copie collé de ce que tu m'as écrit, je dis un peu car persiste la récupération des champs issus de la requête
mon code est :
<form action="modification3.php" method="post">
<p>
Titre : <input type="text" size="30" name="titre" value="<?php echo($result->titre); ?>" />
</p>
<p>
Contenu :<br />
<textarea name="contenu" cols="50" rows="10"><?php echo($result->contenu); ?></textarea><br />
</p>
.
.etc
.
.

c'est ce qui a aprés value qui semble ne plus aller
voici ce que j'ai dans mon formulaire:
<br /><b>Notice</b>: Trying to get property of non-object in <b>C:\wamp\www\tests\lanews.php</b> on line <b>56</b><br />

merci pour le coup de main
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192 > wadagobert
26 mars 2009 à 09:14
t'as oublié de faire un mysql_fetch_object, je croi... pour transformer ton résultat en liste d'objects
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mars 2009 à 09:18
tiens, il faut utiliser le mysql_fetch_object

$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
echo $row->user_id;
echo $row->fullname;
}
0
BONJOUR

dans ma page emettrice j'ai ma variable! (ident = 4, 7, 9,)voici le code:
<?php
$I = 0;
while ($I < 4)
{
echo $tabl_reqt[$I]['titre']. "<br />";
$ident = $tabl_reqt[$I]['id'];
echo $ident;
$Nomphoto = $tabl_reqt[$I]['photo'];
echo '<td><a href="lanews.php?ide=$ident"><img src="' . $Nomphoto . '" /></a></td>'. "<br />";
echo "<br />";
$I++;
}
?>

MAIS je ne l'ai pas dans ma page réceptrice, la variable est vide. voici le code
$cnx = mysql_connect( "localhost", "root", "" ) ;
$db = mysql_select_db( "test" ) ;

$ide = $_GET["ide"] ;
echo ('valeur de ide = '.$ide);

$result = mysql_query("SELECT * FROM news WHERE id = '".$ide."'") ;

JE NE VOIS PLUS RIEN !!!

merci pour votre aide!!
0
wadagobert > wadagobert
26 mars 2009 à 12:07
salut
merci pour ta réponse.
non ca ne change rien
dans la page réceptrice j'ai cela aprés un echo: valeur de ide = $ident ; valeur de id =
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mars 2009 à 12:01
essayes avec $ide = $_GET['ide'] ; mais ej susi pas convaincu que ca change qqch
0
clonedaemon Messages postés 22 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 16 décembre 2010 1
26 mars 2009 à 12:11
Hello


essaye
//requête SQL:
$result = mysql_query("SELECT * FROM news WHERE `id` = '$ide' ") ;


++
0
salut clonedaemon!!
ce n'est pas ma requete qui est en cause c'est avant quand je récupère la variable!!
0
clonedaemon Messages postés 22 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 16 décembre 2010 1 > wadagobert
26 mars 2009 à 13:45
Hum

l'erreur
Unknown column '$ide' in 'where clause' 


est une erreur sql ...

Il prend la variable $ide en tant que champs dans ta table donc problème de guillement
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mars 2009 à 12:39
ca revient à ce que j'ai dit au message 14
0
Nabla's
$result = mysql_query("SELECT * FROM news WHERE id = '".$ide."'") ;

Le problème vient de la variable ide elle contient $ident : c'est donc avant la requete qu'il y a problème:
il y a
$ide = $_GET["ide"] ; qui vient de la page émettrice qui envoie la variable comme cela:

echo '<td><a href="lanews.php?ide=$ident"><img src="' . $Nomphoto . '" /></a></td>'. "<br />";
le problème c'est que lorsque je fais ici un echo de ident : il y a une valeur.
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mars 2009 à 13:41
oui, j'ai bien compris ;) je répondais à l'autre personne

tu dis que tu as deja fait, que ca marchait... es ce que tu as fait des modifs sur ton serveur depuis? (update de la versionde PHP par exemple)

parce que la, las mathode GET ne semble plus fonctionner...

voir ici:
https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees

regardes les trucs sur les variables globales peut etre
0
wadagobert > Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014
26 mars 2009 à 15:38
salut
oui j'ai dis que j'avais déja passé dans une autre page une variable par url...mais c'était un autre contexte!
mais là j'y arrive pas et je n'arrive pas à voir pourquoi???
sachant que dans ident= 4
pourquoi n'ai-je pas 4 à l'arrivée? lorsque je fais cela?
echo '<td><a href="lanews.php?ide=$ident"><img src="' . $Nomphoto . '" /></a></td>'. "<br />";
apparemment je ne trouve pas 4 dans ide mais $ident ????
merci pour votre aide
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mars 2009 à 15:53
et avec un echo $_GET["ide"];
0
il y a pareil :$ident
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mars 2009 à 16:02
echo '<td><a href="lanews.php?ide=$ident"><img src="' . $Nomphoto . '" /></a></td>'. "<br />";

->
echo '<td><a href="lanews.php?ide='.$ident.'"><img src="' . $Nomphoto . '" /></a></td>'. "<br />";

si ca marche pas, copies moi l'url de ta page une fois cliqué ...
0
BRAVO NABLA'S
C'était bien çà !!!
ça marche j'ai bien une valeur dans ma variable.
ce que je ne comprend pas c'est que je n'ai trouvé d'explication nulle part concernant cette syntaxe!!
en tout cas grand merci à toi.
que dois-faire pour l'annoncer comme résolu?
CIAO
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192 > wadagobert
26 mars 2009 à 16:12
normalement, en php, les variables passent quand on est entre ' ____ '. dans ton cas, ca passe pas (comme si tu avait utilisé des " je croi. Je sais qu'il y a un des 2 cas ou ca marche pas...

dans le doute, tu fais comme dans les autres langages, tu utilise la concaténation ....

voila ;)

pour le résolu, c'est en haut a droite de ton premier message ..
0
wadagobert > Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014
26 mars 2009 à 16:52
Merci Nabla's !
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mars 2009 à 16:54
et l'autre ignare de dante qui jurai que c'était pas possible... visiblement, il ne connais pas encore les bases ;)
ni la rèègle d'or: quadn c'est pas possible, on peut toujours trouver un moyen ;)
0