Je recoit se msg Undefined variable: id
f@tiz
Messages postés
20
Statut
Membre
-
ElementW Messages postés 5690 Statut Contributeur -
ElementW Messages postés 5690 Statut Contributeur -
public function recupVille()
{
$id=$_GET['id'];
$req = mysql_query("select * from ville where id_pays=".mysql_real_escape_string($id));
if($req){
while($array=mysql_fetch_row($req)){
echo " <option value=". $array[0];">".$array[1]."</option>";
}
}
else {echo 'Invalid query: ' . mysql_error() . "\n";
}
}
{
$id=$_GET['id'];
$req = mysql_query("select * from ville where id_pays=".mysql_real_escape_string($id));
if($req){
while($array=mysql_fetch_row($req)){
echo " <option value=". $array[0];">".$array[1]."</option>";
}
}
else {echo 'Invalid query: ' . mysql_error() . "\n";
}
}
A voir également:
- Je recoit se msg Undefined variable: id
- Recuperer msg supprimé whatsapp - Guide
- Recoit on les message apres deblocage - Forum iPhone
- Comment lire un msg supprimé sur whatsapp - Guide
- Variable d'environnement temp - Forum Word
- Si je bloque un numero recoit on les messages ✓ - Forum iPhone
3 réponses
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
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
<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
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
@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);
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