Passage de variable par url en PHP [Résolu/Fermé]

Signaler
-
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
-
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

14 réponses

Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
il faut utiliser $_GET['ide']
enfin, vu que c'est dans une variable, ca devrai faire $_GET[ide]

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
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
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 ??
Utilisateur anonyme >
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014

lis le tutorial du site du zéro sir je sais pas coder
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064 > Utilisateur anonyme
Utilisateur anonyme >
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014

oué donc il va rentre toutes ses variable à la main c'est bien ....
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
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 ....
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
Salut,
voici le message que j'obtiens
Unknown column '$ide' in 'where clause'

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 ?
Merci les gars

Mais pouvez_vous m'aider à passer cette variable par URL?
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
<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
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
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 ?
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
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
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
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064 > wadagobert
t'as oublié de faire un mysql_fetch_object, je croi... pour transformer ton résultat en liste d'objects
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
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;
}
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!!
> wadagobert
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 =
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
essayes avec $ide = $_GET['ide'] ; mais ej susi pas convaincu que ca change qqch
Messages postés
22
Date d'inscription
vendredi 7 novembre 2008
Statut
Membre
Dernière intervention
16 décembre 2010
1
Hello


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


++
salut clonedaemon!!
ce n'est pas ma requete qui est en cause c'est avant quand je récupère la variable!!
Messages postés
22
Date d'inscription
vendredi 7 novembre 2008
Statut
Membre
Dernière intervention
16 décembre 2010
1 > wadagobert
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
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
ca revient à ce que j'ai dit au message 14
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.
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
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
>
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014

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
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
et avec un echo $_GET["ide"];
il y a pareil :$ident
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
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é ...
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
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064 > wadagobert
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 ..
>
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014

Merci Nabla's !
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 064
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 ;)