Undefined variable incessante...

Undefined variable incessante... - PHP - Programmation

Marsh Posté le 23-05-2005 à 14:11:44    

bonjour tout le monde, je me sui remi au php dernierement et j'ai repri mes ancien script, apres avoir éinstaller easyPHP 1.8 je regadais si mes ancien script marchais toujours, ce n'était pas le cas, et maintenant j'ai comme seule erreur des "Undefined variable", c'est assez genant compte tenu du fait que cette erreur saffiche pour presque chaque varible, même si je la défini...

Reply

Marsh Posté le 23-05-2005 à 14:11:44   

Reply

Marsh Posté le 23-05-2005 à 14:12:56    

tu as bien les $_GET['variable'] sur tes pages?

Reply

Marsh Posté le 23-05-2005 à 14:14:22    

Dans les nouvelles versions de php, le ERROR_REPORTING est passé à ALL, c'est à dire qu'il signale toutes les erreurs.
*Il faut modifier ce comportement dans le php.ini

Reply

Marsh Posté le 23-05-2005 à 14:14:40    

on peux avoir un exemple ?

Reply

Marsh Posté le 23-05-2005 à 14:18:33    

dedefou oui g bien les $_GET et $_POST...
 
jeroen, que faut il que je change dans php.ini, ou peut tu me passer le tien?
 
gaspard pour l'exemple, je peux t'en faire un petit :  
(je met pas le formulaire, mais dison ke jenvoi des donnée dans une variable $var1
<?
 
$_POST['$var1'] == $var2;
 
echo $var2;
 
?>

Reply

Marsh Posté le 23-05-2005 à 14:34:07    

$_POST['$var1'] == $var2;  
 
remplace par $_POST['var1'] = $var2;
 
EDIT :  dans le $_POST, tu ne récupere que le nom du champ du formulaire, et non pas une variable.
La variable complete c'est $_POST['var1'] (l'index var1 de $_POST)


Message édité par Mush22 le 23-05-2005 à 14:35:58
Reply

Marsh Posté le 23-05-2005 à 14:40:33    

ah ui exact, javais aps vu amsi le probleme c'est que au dela de ça,, cette erreur d'undefined variable ne s'applique pas seulement qu'a mes script masi elle s'affiche sur tous les script que j'ai télécharger sur phpscript, nexen etc....c'est la que ça devien problématique ^^

Reply

Marsh Posté le 23-05-2005 à 14:41:55    

Tu as essayé de mettre tes scripts sur un autre serveur? Histoire de voir si ca vient du php.ini ou pas.

Reply

Marsh Posté le 23-05-2005 à 14:44:54    

vire les notices avec :

Code :
  1. error_reporting(E_ALL ^ E_NOTICE);

Reply

Marsh Posté le 23-05-2005 à 14:45:42    

hmmm ui je vien de le faire et ça marche apparament, ça viendrait donc du php.ini, mais il est necessaire de le modifier normalement, parceque je vien de télécharger la derniere version de easyphp, donc le php.ini est celui  d'origine...

Reply

Marsh Posté le 23-05-2005 à 14:45:42   

Reply

Marsh Posté le 23-05-2005 à 14:46:45    

dans un environnement de developpement il est normal d'avoir tous les messages d'erreur, en prod vaut mieux eviter

Reply

Marsh Posté le 23-05-2005 à 14:58:40    

je vire juste les ~E_NOTICE et je laisse E_ALL ou je vire tte la ligne ?

Reply

Marsh Posté le 23-05-2005 à 15:03:49    

moi j'ai
error_reporting  =  E_ALL & ~E_NOTICE
dans le php.ini (toutes les erreurs sauf les E_NOTICE)
a+


Message édité par jeroen le 23-05-2005 à 15:04:22
Reply

Marsh Posté le 23-05-2005 à 18:16:26    

quelqu'un pourrait me dire exactement ce que je dois marquer ou mieux m'envoyer une copie de son php.ini svp parceque j'ai essayer plusieur syntaxe et ça ne marche toujours pas... :-/

Reply

Marsh Posté le 23-05-2005 à 18:24:45    

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
; ...tout plein de lignes commentées
 
error_reporting  =  E_ALL & ~E_NOTICE
 
 
Je viens de tester, en enlevant le
& ~E_NOTICE
j'ai tout plein d'erreurs du type
 
  Notice: Undefined variable:
 
 

Reply

Marsh Posté le 23-05-2005 à 18:27:21    

argh chez moi j'ai essayer ça et apparament ça ne marche pas, enfin je l'ai changer j'ai enregistrer php.ini et j'ai relancer easyphp, il y avait autre chose a faire avant de tester ?

Reply

Marsh Posté le 23-05-2005 à 18:46:52    

Résumons :
1/sur l'icone e de eseaphp, bouton de droite > configuration > php > ça t'ouvre le php.ini
2/tu trouves la ligne
error_reporting=... (non commentée)
tu mets
error_reporting  =  E_ALL & ~E_NOTICE  
3/tu relance easyphp
4/ tes scripts en local te mettent des erreurs ??
lesquelles ??

Reply

Marsh Posté le 23-05-2005 à 19:28:01    

Ils ont quelle tronche tes scripts ? Parce que c'est quand-même louche là :heink: Envoi un exemple de code qui fait ça, à tous hasard...

Reply

Marsh Posté le 24-05-2005 à 14:59:59    

non mais en fait c bon j'ai reussi a résoudre le probleme le truc c que javais tout simplement modifire le fichier php.ini qui se trouvait dans le repertoire php et non pas le fichier que l'on trouve dans configuration==>php
 
mais la c bon le probleme est résolu, merci a tous :)

Reply

Marsh Posté le 26-05-2005 à 09:13:01    

Hello,
 
J'ai exactement le même problème que kaisk4.
 
En modifiant le fichier php.ini sa ne change de rien. J'ai carrément supprimé la ligne erreur reporting !
 
Je n'ais plus d'erreur mais le script ne fonctione pas!
 
Pourtant esay php utilise la meme confing que mon serveur! C'est à rien y comprendre
 
Merci
@+
Jacques

Reply

Marsh Posté le 31-05-2005 à 11:28:57    

il faut activer les variables POST dans php.ini
avec registers_globals on si vous n'arrivez pas à récuperer les  
variables postées


Message édité par slash51 le 31-05-2005 à 11:34:46
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed