Page 1 sur 1

Problème avec EasyPHP; rien de bien complex...

Posté : 12 déc. 2006, 15:37
par Paf_Le_chien
Salut.

J'ai un petit problème avec ma page php; j'ai ramené un site fait au boulot; là bas tout fonctionne, je l'amène ici, le passe dans "www" de easyphp et là ça merdouille un peu, j'ai :

Notice: Undefined variable: goto in d:\logiciels\easyphp1-8\www\caetano\index2.php on line 21
onmouseover="RollOver('m1','images/picts_fr/menu/m1on.gif');" onMouseOut="RollOver('m1','images/picts_fr/menu/m1.gif');">

Comme erreure affichée sur ma page.

le code est le suivant :

<a href="index2.php?goto=qui" <?php if($goto!='qui'){ ?>onmouseover="RollOver('m1','images/picts_fr/menu/m1on.gif');" onMouseOut="RollOver('m1','images/picts_fr/menu/m1.gif');"<? } ?>><img src="images/picts_fr/menu/m1<?=($goto=='qui'?'on':'');?>.gif" name="m1" width="158" height="32" border="0" id="m1"></a>

Il s'agit d'un menu tout con avec des rolls...

Si une âme charitable se send le coeur d'aider un débutant comme moi; ça serait génial.

merci.

Posté : 12 déc. 2006, 15:46
par Victor BRITO
Salut!

Si tu utilisais les balises de code
, ton code serait plus libsible. :wink: 

J'ai remarqué que tu utilises les balises courtes PHP (<?), au lieu de la balise normale (<?php). Je te conseille d'éviter de les utiliser (le jour où tu voudras jongler entre PHP et des fichiers XML, tu verras qu'il y aura conflit, vu que les balises XML ressemblent à celles de PHP). Vérifie la configuration d'EasyPHP, et notamment la directive short_tags (cherche dans le fichier php.ini): il se peut que cette directive soit désactivée.

Posté : 12 déc. 2006, 16:05
par Ryle
Il est évidement mieux de mettre des <?php au lieu des short tages, mais easyphp les autorises dans sa configuration par défaut. En revanche, à partir de sa version 1.7 ( et donc la 1.8 ) certains paramètres par défaut ont changé dans la config du php.ini, nottament le register_globals.

En fait l'erreur (ou plutôt l'avertissement) que tu recois est que la variable à laquelle tu fais appelle ici : if($goto!='qui') n'a pas été définie dans le reste du code.

Tu peux éviter ces messages d'erreur en modifiant le php.ini, voire en parametrant le niveau d'alerte et d'erreur, mais le mieux reste de corriger le code en définissant la variable avant qu'elle ne soit appellée :
// si 'goto' est passé en GET on l'utilise, sinon on lui affecte la valeur par défaut '' (vide)
$goto = (isSet($_GET['goto'])) ? $_GET['goto'] : '';
(Get, puisque cette variable semble être passée en paramètre de ta page dans l'url)

merci

Posté : 12 déc. 2006, 19:49
par Paf_Le_chien
merci merci ! j'vais plutot passer à un code plus serieux qu'à cet espèce de bricolage php... merci beaucoup !