Passage de variable par url en PHP

Résolu
wadagobert -  
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   3 193
 
il faut utiliser $_GET['ide']
enfin, vu que c'est dans une variable, ca devrai faire $_GET[ide]
0
Utilisateur anonyme
 
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   Statut Contributeur Dernière intervention   3 193
 
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   Statut Contributeur Dernière intervention  
 
lis le tutorial du site du zéro sir je sais pas coder
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193 > Utilisateur anonyme
 
0
Utilisateur anonyme > Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention  
 
oué donc il va rentre toutes ses variable à la main c'est bien ....
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
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
wadagobert
 
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
wadagobert
 
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
 
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
wadagobert
 
Merci les gars

Mais pouvez_vous m'aider à passer cette variable par URL?
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
<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   Statut Contributeur Dernière intervention   3 193
 
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   Statut Contributeur Dernière intervention   3 193
 
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
wadagobert
 
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   Statut Contributeur Dernière intervention   3 193 > wadagobert
 
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   Statut Contributeur Dernière intervention   3 193
 
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
wadagobert
 
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
 
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   Statut Contributeur Dernière intervention   3 193
 
essayes avec $ide = $_GET['ide'] ; mais ej susi pas convaincu que ca change qqch
0
clonedaemon Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   1
 
Hello


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


++
0
wadagobert
 
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   Statut Membre Dernière intervention   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
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
ca revient à ce que j'ai dit au message 14
0
wadagobert
 
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   Statut Contributeur Dernière intervention   3 193
 
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   Statut Contributeur Dernière intervention  
 
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   Statut Contributeur Dernière intervention   3 193
 
et avec un echo $_GET["ide"];
0
wadagobert
 
il y a pareil :$ident
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
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
wadagobert
 
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   Statut Contributeur Dernière intervention   3 193 > 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 ..
0
wadagobert > Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci Nabla's !
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
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