Probleme de syntaxe?
chanteur06
Messages postés
131
Statut
Membre
-
chanteur06 Messages postés 131 Statut Membre -
chanteur06 Messages postés 131 Statut Membre -
Bonjour,
Voilà,je me demande pourquoi j'ai une erreur de variable indéfinie sur ce script en local avec WAMP et EASYPHP alors qu'il fonctionne tres bien en ligne (je l'ai repris pour modif en local).
wamp me donne une variable indéfinie
Notice: Undefined variable: spec_selectionne in C:\Program Files\wamp\www\dept\pagination3.php on line 242
voilà la fameuse: $query = "SELECT specialiste, adresse, code, ville, detail, tel FROM specialiste WHERE specialiste='$spec_selectionne' order by ville asc";
alors que deux lignes plus haut j'ai
$spec_selectionne =$_POST['specialiste'];
en plus,j'ai une notice use of an undefined constant""assumed"" qui correspondrait à ça
<?php echo ($det_spec[$d]." ".à." "); ?>...
En utilisant easyphp, j'ai encore plus d'erreur:
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\dept\pagination3.php on line 174
et
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\dept\pagination3.php on line 245
en plus de la meme variable indefinie signalée sur wamp....
Mais je comprends pas.
Je joins la partie du script
if(isset($idr) && $idr != -1)
{
/* Création de la requête pour avoir les specialistes de ce departement */
$sql2 = "SELECT `id_specialiste`, `specialiste`,`ville`,`detail`".
" FROM `specialiste`".
" WHERE `id_departement` = ". $idr ."".
" ORDER BY `ville`;";
if($connexion != false)
{
$rech_spec = mysql_query($sql2, $connexion);
/* Un petit compteur pour les specialistes */
$nd = 0;
/* On crée trois tableaux pour les numéros et les noms des specialistes */
$code_spec = array();
$nom_spec = array();
$ville_spec = array();
$det_spec = array();
/* On va mettre les numéros et noms des specialistes dans les trois tableaux */
while($ligne_spec = mysql_fetch_assoc($rech_spec))
{
array_push($code_spec, $ligne_spec['id_specialiste']);
array_push($nom_spec, $ligne_spec['specialiste']);
array_push($ville_spec, $ligne_spec['ville']);
array_push($det_spec, $ligne_spec['detail']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="specialiste" id="specialiste" >
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($nom_spec[$d]); ?>"<?php echo((isset($spec_selectionne) && $spec_selectionne == $code_spec[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_spec[$d]." "); ?>
<br>
<br />
<?php echo ($det_spec[$d]." ".à." "); ?>
<br>
<br />
<?php echo($ville_spec[$d]); ?></option>
<?php
}
?>
</select>
<?php
}
/* Un petit coup de balai */
mysql_free_result($rech_spec);
}
?>
<input type="submit" name="ok" id="ok" value="Envoyer" />
<br />
<?php
if(isset($_POST['ok']) && isset($_POST['specialiste']) && $_POST['specialiste'] != "")
{
$spec_selectionne =$_POST['specialiste'];
?>
<br />Votre choix<br /> <b><?php echo($spec_selectionne); ?></b>
<?php
}
?>
<?php
$query = "SELECT specialiste, adresse, code, ville, detail, tel FROM specialiste WHERE specialiste='$spec_selectionne' order by ville asc";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<br>"."<strong>{$row['detail']}</strong>"." " ."<br>{$row['adresse']}"." "."{$row['code']}"." "."{$row['ville']}"." "." "."<br><b>{$row['tel']}"."<br></b> ";
}
si quelqu'un voit pourquoi.....?
Merci beaucoup
Voilà,je me demande pourquoi j'ai une erreur de variable indéfinie sur ce script en local avec WAMP et EASYPHP alors qu'il fonctionne tres bien en ligne (je l'ai repris pour modif en local).
wamp me donne une variable indéfinie
Notice: Undefined variable: spec_selectionne in C:\Program Files\wamp\www\dept\pagination3.php on line 242
voilà la fameuse: $query = "SELECT specialiste, adresse, code, ville, detail, tel FROM specialiste WHERE specialiste='$spec_selectionne' order by ville asc";
alors que deux lignes plus haut j'ai
$spec_selectionne =$_POST['specialiste'];
en plus,j'ai une notice use of an undefined constant""assumed"" qui correspondrait à ça
<?php echo ($det_spec[$d]." ".à." "); ?>...
En utilisant easyphp, j'ai encore plus d'erreur:
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\dept\pagination3.php on line 174
et
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\dept\pagination3.php on line 245
en plus de la meme variable indefinie signalée sur wamp....
Mais je comprends pas.
Je joins la partie du script
if(isset($idr) && $idr != -1)
{
/* Création de la requête pour avoir les specialistes de ce departement */
$sql2 = "SELECT `id_specialiste`, `specialiste`,`ville`,`detail`".
" FROM `specialiste`".
" WHERE `id_departement` = ". $idr ."".
" ORDER BY `ville`;";
if($connexion != false)
{
$rech_spec = mysql_query($sql2, $connexion);
/* Un petit compteur pour les specialistes */
$nd = 0;
/* On crée trois tableaux pour les numéros et les noms des specialistes */
$code_spec = array();
$nom_spec = array();
$ville_spec = array();
$det_spec = array();
/* On va mettre les numéros et noms des specialistes dans les trois tableaux */
while($ligne_spec = mysql_fetch_assoc($rech_spec))
{
array_push($code_spec, $ligne_spec['id_specialiste']);
array_push($nom_spec, $ligne_spec['specialiste']);
array_push($ville_spec, $ligne_spec['ville']);
array_push($det_spec, $ligne_spec['detail']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="specialiste" id="specialiste" >
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($nom_spec[$d]); ?>"<?php echo((isset($spec_selectionne) && $spec_selectionne == $code_spec[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_spec[$d]." "); ?>
<br>
<br />
<?php echo ($det_spec[$d]." ".à." "); ?>
<br>
<br />
<?php echo($ville_spec[$d]); ?></option>
<?php
}
?>
</select>
<?php
}
/* Un petit coup de balai */
mysql_free_result($rech_spec);
}
?>
<input type="submit" name="ok" id="ok" value="Envoyer" />
<br />
<?php
if(isset($_POST['ok']) && isset($_POST['specialiste']) && $_POST['specialiste'] != "")
{
$spec_selectionne =$_POST['specialiste'];
?>
<br />Votre choix<br /> <b><?php echo($spec_selectionne); ?></b>
<?php
}
?>
<?php
$query = "SELECT specialiste, adresse, code, ville, detail, tel FROM specialiste WHERE specialiste='$spec_selectionne' order by ville asc";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<br>"."<strong>{$row['detail']}</strong>"." " ."<br>{$row['adresse']}"." "."{$row['code']}"." "."{$row['ville']}"." "." "."<br><b>{$row['tel']}"."<br></b> ";
}
si quelqu'un voit pourquoi.....?
Merci beaucoup
A voir également:
- Probleme de syntaxe?
- Trouver erreur de syntaxe fichier txt ✓ - Forum PHP
- Impossible d'ouvrir un fichier txt avec Python ✓ - Forum Python
- Trouver erreur de syntaxe fichier txt pix - Forum Autoit / batch
- La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte - Forum Logiciels
- Syntaxe code puk orange - Guide
1 réponse
Hello,
<?php
if(isset($_POST['ok']) && isset($_POST['specialiste']) && $_POST['specialiste'] != "")
{
$spec_selectionne =$_POST['specialiste'];
?>
<br />Votre choix<br /> <b><?php echo($spec_selectionne); ?></b>
<?php
}
// Ta variable $spec_selectionne n'est defini que si le formulaire est posté
?>
<?php
// Ta requete n'est pas dans le "if" elle s'exécute a chaque fois, mais la variable $spec_selectionne n'est pas defini si le formulaire n'est pas posté donc la requete doit ce trouver dans le "if"
$query = "SELECT specialiste, adresse, code, ville, detail, tel FROM specialiste WHERE specialiste='$spec_selectionne' order by ville asc";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<br>"."<strong>{$row['detail']}</strong>"." " ."<br>{$row['adresse']}"." "."{$row['code']}"." "."{$row['ville']}"." "." "."<br><b>{$row['tel']}"."<br></b> ";
}
placé dans le IF ne change rien..;
Le plus etonnant c'est que ça fonctionne avec le meme script hebergé chez ovh
===> edeelic.com
$spec_selectionne="";
OVH n'affiche peut etre pas les erreurs de variable non déclaré.
Mais ovh affiche aussi la ville du spécialiste dans le tableau alors que là j'ai
use of undefined constant
.....
Laisse tomber,c'est une bizzarerie,mais j'aurais bien voulu comprendre....