Je recoit se msg Undefined variable: id
Fermé
f@tiz
Messages postés
13
Date d'inscription
lundi 9 mars 2015
Statut
Membre
Dernière intervention
9 juin 2015
-
9 mars 2015 à 04:34
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 9 mars 2015 à 21:25
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 9 mars 2015 à 21:25
A voir également:
- Je recoit se msg Undefined variable: id
- Recuperer msg supprimé whatsapp - Guide
- En installant l'application candy crush saga sur facebook, isabelle reçoit cet avertissement. que signifie-t-il ? - Forum jeux en ligne
- Candy Crush - Forum Mozilla Firefox
3 réponses
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
Modifié par jordane45 le 9/03/2015 à 08:20
Modifié par jordane45 le 9/03/2015 à 08:20
Bonjour
tu as quoi dans ton url au moment où tu appelles cette fonction ?
Ajoutes au début de la fonction
Cordialement,
Jordane
tu as quoi dans ton url au moment où tu appelles cette fonction ?
Ajoutes au début de la fonction
print_r($_GET);et dis nous ce que çà t'affiche.
Cordialement,
Jordane
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
9 mars 2015 à 13:16
9 mars 2015 à 13:16
Je vois ... tu appelles une fonction présente dans une class... donc... les variables GET ne lui sont pas transmises...
L'idéal dans ce cas est de faire comme ceci :
Et dans le code où tu appelles cette fonction :
PS: Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
L'idéal dans ce cas est de faire comme ceci :
<?php require './connect.php'; class ville extends pays { public function recupVille($id){ if($id){ $sql="select * from ville where id_pays='$id' "; $req = mysql_query($sql); if($req){ $result = ""; while($array=mysql_fetch_row($req)){ $result .= " <option value=". $array[0];">".$array[1]."</option>"; } }else { $result = 'Invalid query: ' . mysql_error() ."<br> Requete:<br>" .$sql."\n"; } }else[ $result = "No ID"; } return $result; }
Et dans le code où tu appelles cette fonction :
$id=isset($_GET['id'])?$_GET['id']:NULL; $oVille = new ville(); echo $oVille->recupVille($id);
PS: Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
f@tiz
Messages postés
13
Date d'inscription
lundi 9 mars 2015
Statut
Membre
Dernière intervention
9 juin 2015
9 mars 2015 à 13:46
9 mars 2015 à 13:46
<code php>
<?php
require './connect.php';
class ville extends pays {
public function recupVille($id){
if($id){
$sql="select *
from ville
where id_pays='$id' ";
$req = mysql_query($sql);
if($req){
$result = "";
while($array=mysql_fetch_row($req)){
$result .= " <option value=". $array[0];">".$array[1]."</option>";
}
}else {
$result = 'Invalid query: ' . mysql_error() ."<br> Requete:<br>" .$sql."\n";
}
}else{
$result = "No ID";
}
return $result;
}
}
</code>
voila le code d'apple du method :
<?php require './ville.php'; $id=isset($_GET['id'])?$_GET['id']:NULL; $oVille = new ville(); echo $oVille->recupVille($id); je reçu c msg : Class 'pays' not found in C:\wamp\www\lecourrierdupharmacien (1)\ville.php on line 6 mm si j ai une page pays.php
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
9 mars 2015 à 15:35
9 mars 2015 à 15:35
ben... ça veut dire que ta classe PAYS n'est pas chargée...
Tu dois l'include avant....
Tu dois l'include avant....
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
9 mars 2015 à 16:22
9 mars 2015 à 16:22
Pour info le tableau des paramètres GET est une variable superglobale, donc accessible depuis une méthode de classe : https://www.php.net/manual/fr/language.variables.scope.php#example-123
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
9 mars 2015 à 21:21
9 mars 2015 à 21:21
@Pitet : Oui c'est sûr... sauf que c'est quand même fortement déconseillé....et en tout cas.. ce n'est clairement pas "propre".
@Fetiz
Quoi qu'il en soit...
A moins que tu n'utilises un AutoLoader pour tes CLASS .. il faut les inclure manuellement....
@Fetiz
Quoi qu'il en soit...
A moins que tu n'utilises un AutoLoader pour tes CLASS .. il faut les inclure manuellement....
<?php require './pays.php'; require './ville.php'; $id=isset($_GET['id'])?$_GET['id']:NULL; $oVille = new ville(); echo $oVille->recupVille($id);
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
Modifié par gravgun le 9/03/2015 à 21:26
Modifié par gravgun le 9/03/2015 à 21:26
'lut, avant que ton code ne devienne gros, et en urgence:
arrête d'utiliser l'extension MySQL, elle est OBSOLÈTE et même DANGEREUSE!
from human import idiocy
del idiocy
arrête d'utiliser l'extension MySQL, elle est OBSOLÈTE et même DANGEREUSE!
from human import idiocy
del idiocy
9 mars 2015 à 12:35
voila mon nouveau code :
<?php
require './connect.php';
class ville extends pays {
public function recupVille()
{
print_r($_GET);
$id=$_GET['id'];
$req = mysql_query("select * from ville where id_pays=".$this->id);
if($req){
while($array=mysql_fetch_row($req)){
echo " <option value=". $array[0];">".$array[1]."</option>";
}
}
else {echo 'Invalid query: ' . mysql_error() . "\n";
}
}
}
tjr j ai eu l mm msg que id n est defini
et aussi : Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1