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
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Undefined mail - Forum Gmail
- Vba range avec variable ✓ - Forum VB / VBA
- Syntaxe VBA Sheets.Range avec Range variable ✓ - Forum VB / VBA
3 réponses
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