Variable ($_GET['pays']) vide
Résolu/Fermé
txiki
Messages postés
6597
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
-
27 juin 2015 à 20:35
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 28 juin 2015 à 18:50
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 28 juin 2015 à 18:50
A voir également:
- Variable ($_GET['pays']) vide
- Formate pour taxer client frigo vide - Forum Loisirs / Divertissements
- Coeur vide ✓ - Forum Facebook
- Vba range avec variable ✓ - Forum VB / VBA
- Supprimer page vide word - Guide
- Dans le document à télécharger, les références des pièces détachées sont affichées par pays, puis par type de pièces. réorganisez le document pour avoir : les pays dans l'ordre alphabétique : allemagne, espagne, france et italie ; et pour chaque pays, les pièces d'auto, de bateau et de moto dans cet ordre. quelle est la référence de la pièce en ligne 500 ? ✓ - Forum Windows
6 réponses
NHenry
Messages postés
15113
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 avril 2024
331
27 juin 2015 à 21:13
27 juin 2015 à 21:13
Petit rappel, l'extension mysql est obsolète
Ensuite, si tu veux inclure une variable dans une chaine, il y a 3 méthodes :
$Dest=$Source; ou $Dest='aa'.$Source;
$Dest="$Source"; // Note, c'est " et pas '
$Dest=sprintf('%s',$Source); ou
$Dest=sprintf('Une valeur dont je vous montre son état %d',$Source);
Ensuite, si tu veux inclure une variable dans une chaine, il y a 3 méthodes :
$Dest=$Source; ou $Dest='aa'.$Source;
$Dest="$Source"; // Note, c'est " et pas '
$Dest=sprintf('%s',$Source); ou
$Dest=sprintf('Une valeur dont je vous montre son état %d',$Source);
txiki
Messages postés
6597
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
515
27 juin 2015 à 23:41
27 juin 2015 à 23:41
Salut NHenry,
Ben dans les deux cas que tu me propose c'est pire.
Ben dans les deux cas que tu me propose c'est pire.
NHenry
Messages postés
15113
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 avril 2024
331
27 juin 2015 à 23:44
27 juin 2015 à 23:44
Si ta variable _GET['pays'] est vide, c'est que tu n'a pas passé ce paramètre.
Comment appelles-tu ta page ?
Attention le nom du paramètre est sensible à la casse.
Comment appelles-tu ta page ?
Attention le nom du paramètre est sensible à la casse.
txiki
Messages postés
6597
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
515
28 juin 2015 à 01:33
28 juin 2015 à 01:33
Salut NHenry,
Ben par un lien comme ceci:
Ce lien se trouve dans un DIV (26 au total, un par lettre) et qui est caché par défaut. Il ne s'affiche qu'en cliquant sur une lettre Liste des lettres.
Afghanistan pointe sur la page planche.php ou il y a le code du début de ce topic, Afrique du Sud pointe lui sur une page htm classique et c'est pour éviter d'avoir a écrire autant de pages que de pays que j'aurais voulu utiliser une BDD.
Précisions: cette page Accueil.php n'a aucun code php. Tout mon problème semble venir de cette page Accueil et de ce lien Afghanistan.
Je pensais que le mot cliqué (Afghanistan) devenait automatiquement une variable et donc la récupérer dans la page Planche.php.
Je suis débutant en php et c'est pourtant la première fois que je suis confronté à un Pb aussi aussi longtemps. J'ai du louper quelque chose que je ne vois pas.
Merci en tous cas de t'interresser à mon Pb.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Ben par un lien comme ceci:
<div id="LayerA" style="position:absolute; width:90%; height:236px; z-index:1; left: 72px; top: 220px; visibility: hidden;"><a class="lien" href="Planche.php">Afghanistan</a> | <a class="lien" href="Pays/Afrique_du_Sud.htm">Afrique du Sud</a> |
Ce lien se trouve dans un DIV (26 au total, un par lettre) et qui est caché par défaut. Il ne s'affiche qu'en cliquant sur une lettre Liste des lettres.
Afghanistan pointe sur la page planche.php ou il y a le code du début de ce topic, Afrique du Sud pointe lui sur une page htm classique et c'est pour éviter d'avoir a écrire autant de pages que de pays que j'aurais voulu utiliser une BDD.
Précisions: cette page Accueil.php n'a aucun code php. Tout mon problème semble venir de cette page Accueil et de ce lien Afghanistan.
Je pensais que le mot cliqué (Afghanistan) devenait automatiquement une variable et donc la récupérer dans la page Planche.php.
Je suis débutant en php et c'est pourtant la première fois que je suis confronté à un Pb aussi aussi longtemps. J'ai du louper quelque chose que je ne vois pas.
Merci en tous cas de t'interresser à mon Pb.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
28 juin 2015 à 12:39
28 juin 2015 à 12:39
Ce n'est pas comme ça que tu passes une variable GET.. il faut l'inclure dans l'url de la page appelée...
<a class="lien" href="Planche.php?pays=Afghanistan">Afghanistan</a>
txiki
Messages postés
6597
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
515
>
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
28 juin 2015 à 15:31
28 juin 2015 à 15:31
Bonjour jordane45,
Désolé mais ça ne change absolument rien. Je suis sur que c'est un truc tout con pourtant !. Le pays est bien spécifié dans l'url
Ca m'énerve !
Désolé mais ça ne change absolument rien. Je suis sur que c'est un truc tout con pourtant !. Le pays est bien spécifié dans l'url
Ca m'énerve !
NHenry
Messages postés
15113
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 avril 2024
331
Modifié par NHenry le 28/06/2015 à 16:32
Modifié par NHenry le 28/06/2015 à 16:32
Le soucis vient sûrement du fait que tu essayes d'afficher des variables que tu as initialisé de cette manière :
$drapeau = '$drapeau';
Si tu veux mettre la valeur qui se trouve dans la base de données, il faut récupérer l'information avant de l'afficher.
$drapeau = '$drapeau';
Si tu veux mettre la valeur qui se trouve dans la base de données, il faut récupérer l'information avant de l'afficher.
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
>
NHenry
Messages postés
15113
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 avril 2024
28 juin 2015 à 17:00
28 juin 2015 à 17:00
Le soucis vient sûrement du fait que tu essayes d'afficher des variables que tu as initialisé de cette manière :
$drapeau = '$drapeau';
Ca .. je lui ai déjà dit dans sa précédente question..... mais visiblement... il n'en a pas tenu compte :/
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
28 juin 2015 à 17:01
28 juin 2015 à 17:01
mais ça ne change absolument rien. Je suis sur que c'est un truc tout con pourtant !. Le pays est bien spécifié dans l'url
Maintenant ..oui.. le pays est bien dans l'URL (suite à ma modif ....)
Maintenant... regardons le reste de ton code pour savoir ce qui bloque.
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
28 juin 2015 à 17:03
28 juin 2015 à 17:03
Déjà .... comme je te l'avais déjà dit (et Nhenry te le redit...)
Tout ceci est faux (e ne sert strictement à rien ! )
Selon toi.. d'où proviennent ces variables ?
Que devraient elles contenir ?
Tout ceci est faux (e ne sert strictement à rien ! )
<?php // Déclaration des variables de la table "flag" $drapeau = '$drapeau'; $nomcomplet = '$nomcomplet'; $capitale = '$capitale'; $monnaie = '$monnaie'; $histoire = '$histoire';
Selon toi.. d'où proviennent ces variables ?
Que devraient elles contenir ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
28 juin 2015 à 17:24
28 juin 2015 à 17:24
Bon...
testes ce code ....
Il y avait tellement d'erreurs dans le tient que je ne vais pas tout te lister....
mais en gros voici les plus grosses :
1 - Tu ne faisais aucun fetch
2 - Tu utilisais un foreach sur une variable... qui sort dont on ne sait où !
testes ce code ....
Il y avait tellement d'erreurs dans le tient que je ne vais pas tout te lister....
mais en gros voici les plus grosses :
1 - Tu ne faisais aucun fetch
2 - Tu utilisais un foreach sur une variable... qui sort dont on ne sait où !
<?php //***************************************************************// // CONNEXION A LA BDD //------------------------------------// // On récupère les informations de connexion à la base require 'Fonctions_Billets.php'; $cnx = mysql_pconnect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); // connection à la base mysql_select_db($cnx) or die ('Impossible de se connecter à la base'); // sélection de la table //***************************************************************// // ================================ // On recupere la variable "pays" correspondant au pays cliqué // ================================ $pays = isset($_GET['pays'])?$_GET['pays']:'NULL'; // // le temps des tests: if(!$pays){ echo "<br> Variables GET :<br>"; print_r($_GET); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> Billets de banque du monde </title> <meta name="robots" content="index, follow" /> <meta name="author" content="Jean Michel Etchecolonea" /> <meta name="description" content="Collection de billets de banque du monde, neufs et ayant circulés." /> <meta name="keywords" content="papier monnaie, billet de banque, monnaies du monde, billetophilie, collection de billets de banque, monnaie, billets neuf, billets anciens" /> <link href="Styles/Billets.css" type="text/css" rel="stylesheet" /> <meta name="revisit-after" content="20 days" /> <meta http-equiv="imagetoolbar" content="no" /><!-- Empeche IE de mettre une barre sur les images //--> </head> <body> <?php // On selectionne seulement la ligne qui correspond au pays $sql = "select drapeau, nomcomplet, capitale, monnaie, histoire FROM flag WHERE pays='".$pays."'"; $result = mysql_query($sql,$cnx) or die ('Erreur : '.mysql_error() ."<br> Requete : ".$sql); $num_rows = mysql_num_rows($result); if($num_rows == 0){ echo "<br> ERREUR ! Aucune donnée trouvée pour ce pays dans la table flag!"; }else{ //On récupère la premiere ligne de la requete: $arrFlag = mysql_fetch_array($result); //on initialise les variables avec les données issues de la requête: $drapeau = $arrFlag['drapeau']; $nomcomplet = $arrFlag['nomcomplet']; $capitale = $arrFlag['capitale']; $monnaie = $arrFlag['monnaie']; $histoire = $arrFlag['$histoire']; // n affiche que la première ligne pour la planche d'un pays, drapeau, capitale, monnaie et histoire de la monnaie echo"<table width='90%' border='0' align='center' cellpadding='5' cellspacing='0' bgcolor='#ffffff'>"; echo "<tr>"; echo "<td width='10%'> <img src='$drapeau' /> </td> <td class='pays' width='30%'> <strong>$nomcomplet</strong><br />capitale: <strong>$capitale</strong><br />monnaie : <strong>$monnaie</strong> </td> <td width='60%'> <p class='money'>$histoire</p> </td>"; echo "</tr>"; echo"</table>"; // ce premier tableau ne se répète pas } // On selectionne seulement la ligne qui correspond au pays $select = "SELECT visuel_recto, valeur_recto, format, recto, visuel_verso, valeur_verso, verso FROM billets WHERE pays='$pays'"; $result = mysql_query($select,$cnx) or die ('Erreur : '.mysql_error() ."<br> Requete : ".$sql); $nb_result = mysql_num_rows($result); if($nb_result==0){ echo "<br> ERREUR ! Aucune donnée trouvée pour ce pays dans la table billets !"; }else{ // on n'affiche ici que les lignes qui se répètent tant qu'il y a des billets pour ce pays via la boucle pour tableau "foreach" echo"<table ID='planche'>"; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $visuel_recto = $row['visuel_recto']; $valeur_recto = $row['valeur_recto']; $format = $row['format']; $recto = $row['recto']; $visuel_verso = $row['visuel_verso']; $valeur_verso = $row['valeur_verso']; $format= $row['format']; // on réaffiche le format du billet pour le verso $verso= $row['verso']; echo "<tr>"; echo "<td class='billet'> <img src='$visuel_recto' alt='$valeur_recto' title='$valeur_recto'></img><br>$valeur_recto<br>$format<br>$recto </td>"; echo "<td class='billet'> <img src='$visuel_verso' alt='$valeur_verso' title='$valeur_verso'></img><br>$valeur_verso<br>$format<br>$verso </td>"; echo "</tr>"; } echo"</table>"; } mysql_close(); ?> </body> </html>
txiki
Messages postés
6597
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
515
28 juin 2015 à 18:50
28 juin 2015 à 18:50
Re-bonjour à tous les deux,
Merci, MERCIIIII ! je retrouve d'ailleurs les rows et les while que j'avais utilisé pour d'autres sites dont celui pour les prénoms basques avec un moteur de recherche.
Je ne sais pas pourquoi je me suis focalisé sur le foreach. Et ce que je vois sur ton code c'est que tu a mis le require et la connexion à la table au tout début de la page. C'est comme ça qu'on fait ?
Bon maintenant je vais virer ces types BLOB car vois le résultat que ça donne. Les commentaires au bas de chaque photos, eux, sont corrects.
Je n'ai pas l'impression que ce soit de l'utf8.
Merci beaucoup en tous cas pour votre patience et générosité à tous les deux.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Merci, MERCIIIII ! je retrouve d'ailleurs les rows et les while que j'avais utilisé pour d'autres sites dont celui pour les prénoms basques avec un moteur de recherche.
Je ne sais pas pourquoi je me suis focalisé sur le foreach. Et ce que je vois sur ton code c'est que tu a mis le require et la connexion à la table au tout début de la page. C'est comme ça qu'on fait ?
Bon maintenant je vais virer ces types BLOB car vois le résultat que ça donne. Les commentaires au bas de chaque photos, eux, sont corrects.
Je n'ai pas l'impression que ce soit de l'utf8.
Merci beaucoup en tous cas pour votre patience et générosité à tous les deux.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
27 juin 2015 à 21:37
mais tu m'a complètement embrouillé là. Je continuerai donc à faire des pages htm, une pour chaque pays.
Merci quand même.
Modifié par NHenry le 27/06/2015 à 22:10
$capitale = '$capitale';
Or, si tu veux faire ce que tu penses, c'est :
$capitale = $capitale;
ou
$capitale = "$capitale";
Mais je ne vois pas le but de l'assignation.