Version complète: sur le forum Webmaster Hub : Notice: Undefined variable: num in c:\program file
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Luckyluk
resalut,

des que je mets à faire du php....
hehe les bug commence à apparaitre blink.gif biggrin.gif

CODE
<? echo"<title>Palissade robusto photo ".$num."</title>"; ?>



quand je mets ça....

il me balance une jolie

Notice: Undefined variable: num in c:\program files\easyphp1-7\www\siterobusto\photo-robusto.php on line 9

pourtant, il ne me semble pas qu'il faille declarer quoi que ce soit...

sans doute encore une question de syntaxe?
Tizel
C'est quoi ta variable $num ? Elle apparait dans l'URL ?

Dans ce cas, essaye :
$num=$_GET["num"] ou $num=$_POST["num"] suivant le type de la requête (GET - cas général - ou POST - via un formulaire)

Tizel
Dan
Salut Luc,

Avec les versions récentes de php, les variables globales sont définies à "off" par défaut.
C'est ce que t'explique Tizel, il faut donc utiliser $_GET['num'] ou $_POST['num'] selon la méthode utilisée.

Une alternative serait de mettre register_globals à "on" dans le fichier php.ini, mais autant prendre tout de suite les bonnes habitudes, non ? wink.gif

Dan
sarc
Hum par contre chez moi, quand une variable n'a pas été définie, il n'y a pas de message d'erreur pour autant ! et heureusement... Il me soulerait whistling.gif
Il n'y a pas un autre réglage à faire pour virer ce message d'erreur ?
Luckyluk
hehe,

j'ai donc decide...
de mettre le register_globals sur ON (comme chez mon hebergeur)...
pour prendre les bonne haitudes biggrin.gif

j'ai eteins apache puis redemarer...mais ça ne semble pas fonctionner...
je vais donc retenter avec les get et post mais mes precedents tests avait echoué...

pour info, dans mon test, je ne transmet pas de variable mais cela se fera par url...
Dan
C'est selon le paramétrage de php.ini, avec les niveaux d'alerte demandés.

Voir la définition de error_reporting dans ce fichier wink.gif
Dan
Salut Luc,

C'est que la variable error_reporting est mise à E_ALL
Trouve le fichier php.ini, il doit se trouver dans c:\windows à mon avis.
Cette variable est définie dedans.
Luckyluk
CODE
; - error_reporting = E_ALL        [Code Cleanliness, Security(?)]
;     By default, PHP surpresses errors of type E_NOTICE.  These error messages
;     are emitted for non-critical errors, but that could be a symptom of a bigger
;     problem.  Most notably, this will cause error messages about the use
;     of uninitialized variables to be displayed.



apres avoir mis les mauvaise lignes...

je remplace le E_ALL par quoi?
sarc
Héhé, je te conseille d'aller voir le manuel PHP qui t'expliquera toutes les erreurs, et tu pourras choisir le degré d'error_reporting facilement... tongue.gif
Anonymus
Si tu ne veux pas toucher à ce fichier (php.ini), tu peux mettre, au tout début de ton script, la fonction :

error_reporting(0);
// Désactiver le rapport d'erreurs

Lorsque tu cherches une erreur, tu passes cette fonction à :
error_reporting(E_ALL);
// Repporter toutes les erreurs PHP.

Le plus simple étant alors de connaitre son :
$_SERVER['DOCUMENT_ROOT']
et donc ajouter les lignes :
CODE
error_reporting(0);
if ($_SERVER['DOCUMENT_ROOT']=="c:/home"){
error_reporting(E_ALL);
}

Ce qui signifie :
On place le gestionnaire d'erreur à '0' aucune erreur retournée (sauf les plus graves),
et si l'on est en 'local', alors on renvoie toutes les erreurs wink.gif

Voilà,
Luckyluk
merci à tous,

j'ai fini par reussir à mettre mon register_globals sur ON

et tout fonctionne bien...
faudra tout de même que je reussise à utiliser mes variables sans çà...sinon le jour mon hebergeur le mets sur OFF
me vla chocolat bleu pâle.... wacko.gif

pour info, dans ma version easyphp 1.7
le php.ini se trouve dans le repertoire apache
NiCoS
CITATION(Luckyluk @ lundi 11 juillet 2005, 13h35)
faudra tout de même que je reussise à utiliser mes variables sans çà...sinon le jour mon hebergeur le mets sur OFF


Je suis même étonné que ce ne soit pas déjà le cas... huh.gif
Dan
CITATION(Luckyluk @ lundi 11 juillet 2005, 13h35)
faudra tout de même que je reussise à utiliser mes variables sans çà...sinon le jour mon hebergeur le mets sur OFF
me vla chocolat bleu pâle.... wacko.gif
*

A mon avis, il aurait été plus sage de le laisser à "off".
Parce que les variables $_GET et $_POST fonctionnent dans les deux cas, et ton site sera plus sécurisé et moins sujet aux attaques.

De plus, tant qu'à apprendre un langage de programmation, autant prendre tout de suite les bonnes habitudes wink.gif
Luckyluk
bon aller pour une fois je vais tenter d'aller au bout...

donc,
j'appele la page à l'aide :
CODE
http://luchenrard/siterobusto/photo-robusto.php?num=1


j'ai tenté en mettant le code ci dessous...
effectivement le rapport d'erreur n'apparait plus...
mais il ne prend toujours pas en compte la variable...
CODE
<?
error_reporting(0);
$_GET['num'];
echo"<title>Palissade robusto photo ".$num."</title>";
?>
Luckyluk
eviedemment, quand on recopie mal le code....

ça marche moins bien...


j'ai donc simplement remis :
CODE
$num=$_GET['num'];


et non pas celui du post precedent....


wacko.gif wacko.gif wacko.gif wub.gif wub.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.