OVH Cloud OVH Cloud

pb de "Undefined variable" easyphp

9 réponses
Avatar
Julien R (PROTEG)
bon j'ai un ptit souci, j'ai une page avec un menu comme sur mon site
www.proteg.net

le pb est que lorsque je met cette meme page sur mon serveur FTP perso dans
Easyphp, cela m'affiche cette erreur de variable :
--------------------------------------------------
Notice: Undefined variable: l1 in d:\easyphp1-7\www\test\main.php on line 27
------------------------------------------------------------

je précise que cette même page fonctionne parfaitement à cette adresse
www.proteg.net


voici la source de la page en question



<html>
<head>
<title>INTRANET HOME</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#003333" text="#FFFFFF" link="#00FFFF" vlink="#00FFFF"
alink="#FFFF00">
<div align="center">

<table align="left" border="0" width="89" height="354" bgcolor="#0099FF"
cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top" height="14" width="83"><img
src="images/hautgauche.gif" width="31" height="28"></td>
<td align="right" valign="top" height="14" width="97"><img
src="images/hautdroit.gif" width="31" height="28" align="top"></td>
</tr>
<tr>
<td align="center" valign="middle" height="43" colspan="2">
<div align="center"><img src="images/kiki.jpg" width="68"
height="84"></div>
</td>
</tr>
<tr>
<td align="center" valign="middle" height="33" colspan="2">&nbsp;
</td>
</tr>
<tr align="left">
<td height="266" colspan="2" valign="top" ><font
color="#FFFFFF"><b></b></font>
<?php

$l1 = eregi_replace("http://", "", $l1);

if(!isset($l1) OR empty($l1)) // vérifie que la variable $url existe et
qu'elle n'est pas vide.
{
include("menuaccueil.php");
}
else
{
include("$l1.php");
}

?>
<blockquote>
<p> </p>
</blockquote>
</td>
</tr>
<tr>
<td valign="bottom" height="14" width="83" ><img
src="images/basgauche.gif" width="31" height="28" align="bottom"></td>
<td align="right" valign="bottom" height="14" width="97" ><img
src="images/basdroit.gif" width="31" height="28" align="bottom"></td>
</tr>
</table>

<p>
<?php

$l2 = eregi_replace("http://", "", $l2);

if(!isset($l2) OR empty($l2)) // vérifie que la variable $url existe et
qu'elle n'est pas vide.
{
include("sommaire.php");
}
else
{
include("$l2.php");
}


?>
</p>
</div>
</body>
</html>

--

-
@++
Julien R
Site : http://www.proteg.net

9 réponses

Avatar
Julien R (PROTEG)
bon ayé j'ai trouvé il fallait :

<?php

$l1 = eregi_replace("http://", "", '$l1');

if(!isset($_POST['l1']) OR empty($-POST['l1'])) // vérifie que la
variable $url

existe et qu'elle n'est pas vide.
{
include("menuaccueil.php");
}
else
{
$l1=$_POST['l1'];
include("$l1.php");
}

?>


au lieu de



<?php

$l1 = eregi_replace("http://", "", '$l1');

if(!isset($l1) OR empty($l1)) // vérifie que la variable $url existe et
qu'elle

n'est pas vide.
{
include("menuaccueil.php");
}
else
{
include("$l1.php");
}

?>


Merci quand même à tous

--

-
@++
Julien R
Site : http://www.proteg.net


"Julien R (PROTEG)" a écrit dans le message de
news:412cfa5b$0$31237$
bon j'ai un ptit souci, j'ai une page avec un menu comme sur mon site
www.proteg.net

le pb est que lorsque je met cette meme page sur mon serveur FTP perso
dans

Easyphp, cela m'affiche cette erreur de variable :
--------------------------------------------------
Notice: Undefined variable: l1 in d:easyphp1-7wwwtestmain.php on line
27

------------------------------------------------------------

je précise que cette même page fonctionne parfaitement à cette adresse
www.proteg.net


voici la source de la page en question



<html>
<head>
<title>INTRANET HOME</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#003333" text="#FFFFFF" link="#00FFFF" vlink="#00FFFF"
alink="#FFFF00">
<div align="center">

<table align="left" border="0" width="89" height="354" bgcolor="#0099FF"
cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top" height="14" width="83"><img
src="images/hautgauche.gif" width="31" height="28"></td>
<td align="right" valign="top" height="14" width="97"><img
src="images/hautdroit.gif" width="31" height="28" align="top"></td>
</tr>
<tr>
<td align="center" valign="middle" height="43" colspan="2">
<div align="center"><img src="images/kiki.jpg" width="68"
height="84"></div>
</td>
</tr>
<tr>
<td align="center" valign="middle" height="33" colspan="2">&nbsp;
</td>
</tr>
<tr align="left">
<td height="266" colspan="2" valign="top" ><font
color="#FFFFFF"><b></b></font>
<?php

$l1 = eregi_replace("http://", "", $l1);

if(!isset($l1) OR empty($l1)) // vérifie que la variable $url existe
et

qu'elle n'est pas vide.
{
include("menuaccueil.php");
}
else
{
include("$l1.php");
}

?>
<blockquote>
<p> </p>
</blockquote>
</td>
</tr>
<tr>
<td valign="bottom" height="14" width="83" ><img
src="images/basgauche.gif" width="31" height="28" align="bottom"></td>
<td align="right" valign="bottom" height="14" width="97" ><img
src="images/basdroit.gif" width="31" height="28" align="bottom"></td>
</tr>
</table>

<p>
<?php

$l2 = eregi_replace("http://", "", $l2);

if(!isset($l2) OR empty($l2)) // vérifie que la variable $url existe et
qu'elle n'est pas vide.
{
include("sommaire.php");
}
else
{
include("$l2.php");
}


?>
</p>
</div>
</body>
</html>

--

-
@++
Julien R
Site : http://www.proteg.net


Avatar
Julien R (PROTEG)
bon il semblerait que cela vienne de la nouvelle version 4.2.0 de PHP avec
les variables globales à OFF

http://www.phpdebutant.org/article113.php


maintenant comment dois ecrire le script :

<?php

$l1 = eregi_replace("http://", "", $l1);

if(!isset($l1) OR empty($l1)) // vérifie que la variable $url existe et
qu'elle n'est pas vide.
{
include("menuaccueil.php");
}
else
{
include("$l1.php");
}

?>

Merci pour votre aide

--

-
@++
Julien R
Site : http://www.proteg.net


"Julien R (PROTEG)" a écrit dans le message de
news:412cfa5b$0$31237$
bon j'ai un ptit souci, j'ai une page avec un menu comme sur mon site
www.proteg.net

le pb est que lorsque je met cette meme page sur mon serveur FTP perso
dans

Easyphp, cela m'affiche cette erreur de variable :
--------------------------------------------------
Notice: Undefined variable: l1 in d:easyphp1-7wwwtestmain.php on line
27

------------------------------------------------------------

je précise que cette même page fonctionne parfaitement à cette adresse
www.proteg.net


voici la source de la page en question



<html>
<head>
<title>INTRANET HOME</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#003333" text="#FFFFFF" link="#00FFFF" vlink="#00FFFF"
alink="#FFFF00">
<div align="center">

<table align="left" border="0" width="89" height="354" bgcolor="#0099FF"
cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top" height="14" width="83"><img
src="images/hautgauche.gif" width="31" height="28"></td>
<td align="right" valign="top" height="14" width="97"><img
src="images/hautdroit.gif" width="31" height="28" align="top"></td>
</tr>
<tr>
<td align="center" valign="middle" height="43" colspan="2">
<div align="center"><img src="images/kiki.jpg" width="68"
height="84"></div>
</td>
</tr>
<tr>
<td align="center" valign="middle" height="33" colspan="2">&nbsp;
</td>
</tr>
<tr align="left">
<td height="266" colspan="2" valign="top" ><font
color="#FFFFFF"><b></b></font>
<?php

$l1 = eregi_replace("http://", "", $l1);

if(!isset($l1) OR empty($l1)) // vérifie que la variable $url existe
et

qu'elle n'est pas vide.
{
include("menuaccueil.php");
}
else
{
include("$l1.php");
}

?>
<blockquote>
<p> </p>
</blockquote>
</td>
</tr>
<tr>
<td valign="bottom" height="14" width="83" ><img
src="images/basgauche.gif" width="31" height="28" align="bottom"></td>
<td align="right" valign="bottom" height="14" width="97" ><img
src="images/basdroit.gif" width="31" height="28" align="bottom"></td>
</tr>
</table>

<p>
<?php

$l2 = eregi_replace("http://", "", $l2);

if(!isset($l2) OR empty($l2)) // vérifie que la variable $url existe et
qu'elle n'est pas vide.
{
include("sommaire.php");
}
else
{
include("$l2.php");
}


?>
</p>
</div>
</body>
</html>

--

-
@++
Julien R
Site : http://www.proteg.net


Avatar
- Sebastien -
Julien R (PROTEG) - Le 25/08/2004
bon j'ai un ptit souci, j'ai une page avec un menu comme sur mon site
www.proteg.net

le pb est que lorsque je met cette meme page sur mon serveur FTP perso dans
Easyphp, cela m'affiche cette erreur de variable :
--------------------------------------------------
Notice: Undefined variable: l1 in d:easyphp1-7wwwtestmain.php on line 27
------------------------------------------------------------

Dans EasyPHP 1.7, il y a l'affichage de toutes les erreurs y compris

les variables non définies.
Il faut changer : error_reporting = E_ALL & ~E_NOTICE
dans le dans php.ini
Voir FAQ de www.easyphp.org

--
Seb.
Webmaster SNT
Société Nautique de la Trinité Sur Mer
http://www.snt-voile.org

Avatar
Aphrael
Julien R (PROTEG) wrote:

bon j'ai un ptit souci, j'ai une page avec un menu comme sur mon site
www.proteg.net

le pb est que lorsque je met cette meme page sur mon serveur FTP perso dans
Easyphp, cela m'affiche cette erreur de variable :
--------------------------------------------------
Notice: Undefined variable: l1 in d:easyphp1-7wwwtestmain.php on line 27
------------------------------------------------------------



C'est pas bien de ne PAS respecter des standards de développement vieux
de deux ans. Voir <http://ch.php.net/manual/fr/function.isset> et les
informations de la FAQ Easyphp, PHP, ...

Aphrael...
--
"La demande mondiale d'ordinateurs n'excédera pas cinq machines."
(Thomas Watson, Fondateur d'IBM, 1945)

Avatar
geononauxspams
"Julien R (PROTEG)" wrote in message news:<412cfa5b$0$31237$...
bon j'ai un ptit souci, j'ai une page avec un menu comme sur mon site
www.proteg.net
le pb est que lorsque je met cette meme page sur mon serveur FTP perso dans
Easyphp, cela m'affiche cette erreur de variable :
--------------------------------------------------
Notice: Undefined variable: l1 in d:easyphp1-7wwwtestmain.php on line 27
------------------------------------------------------------


ce qui signifie en bon français "variable l1 indéfinie n ligne 27". ça
devrait te donner un indice, non ?


<?php
$l1 = eregi_replace("http://", "", $l1);


la variable l1 est utilisée avant d'être définie.
ajoute un $l1=$_REQUEST['l1'] si cela vient du navigateur


if(!isset($l1) OR empty($l1))


plus simple : if(empty($l1))
car la fonction empty inclut le test d'existence de la fonction


{
include("menuaccueil.php");
}
else
{
include("$l1.php");



AAAAAARRRGGGGHHHHH !!!!!!!!

la faille *abyssale* de sécurité !



<?php

$l2 = eregi_replace("http://", "", $l2);


rebelote


if(!isset($l2) OR empty($l2))


bis


include("$l2.php");


GGGGGUUUULLLLPPPPP !!!!!!!

tu pourrais ajouter :

echo "Amis , bienvenue à bord et faites commes chez vous";



Conclusion: l'erreur n'est pas toujours là où on le croit.
a+
--
P'tit Marcel

Avatar
Thibaut Allender

C'est pas bien de ne PAS respecter des standards de développement vieux
de deux ans. Voir <http://ch.php.net/manual/fr/function.isset> et les
informations de la FAQ Easyphp, PHP, ...


je ne voudrais surtout pas relancer un debat [1] à ce sujet, mais php
tolère très bien la non-initialisation des variables
aux risques et périls du développeur, certes

si c'était "ne pas respecter un standard de développement" (au fait,
c'est quoi un standard de développement ?), on n'obtiendrait pas un
"notice", mais une erreur fatale, ou au moins un warning

[1] http://minilien.com/?5JGMqAlkGN

--
thibaut allender | freelance | http://capsule.org

Avatar
Québec
Et qu'arrive-t-il sur un vrai serveur si on fait cela?

Jean
"- Sebastien -" a écrit dans le message de
news:
Julien R (PROTEG) - Le 25/08/2004
bon j'ai un ptit souci, j'ai une page avec un menu comme sur mon site
www.proteg.net

le pb est que lorsque je met cette meme page sur mon serveur FTP perso
dans


Easyphp, cela m'affiche cette erreur de variable :
--------------------------------------------------
Notice: Undefined variable: l1 in d:easyphp1-7wwwtestmain.php on
line 27


------------------------------------------------------------

Dans EasyPHP 1.7, il y a l'affichage de toutes les erreurs y compris

les variables non définies.
Il faut changer : error_reporting = E_ALL & ~E_NOTICE
dans le dans php.ini
Voir FAQ de www.easyphp.org

--
Seb.
Webmaster SNT
Société Nautique de la Trinité Sur Mer
http://www.snt-voile.org



Avatar
Aphrael
- Sebastien - wrote:

Julien R (PROTEG) - Le 25/08/2004

bon j'ai un ptit souci, j'ai une page avec un menu comme sur mon site
www.proteg.net

le pb est que lorsque je met cette meme page sur mon serveur FTP perso
dans
Easyphp, cela m'affiche cette erreur de variable :
--------------------------------------------------
Notice: Undefined variable: l1 in d:easyphp1-7wwwtestmain.php on
line 27
------------------------------------------------------------

Dans EasyPHP 1.7, il y a l'affichage de toutes les erreurs y compris les

variables non définies.
Il faut changer : error_reporting = E_ALL & ~E_NOTICE
dans le dans php.ini
Voir FAQ de www.easyphp.org
ça c'est la solution "je code comme un cochon et je veux pas que ça se

voie".

L'autre est de coder proprement.

Aphrael
--
"La demande mondiale d'ordinateurs n'excédera pas cinq machines."
(Thomas Watson, Fondateur d'IBM, 1945)


Avatar
- Sebastien -
Aphrael - Le 27/08/2004
- Sebastien - wrote:

Julien R (PROTEG) - Le 25/08/2004

bon j'ai un ptit souci, j'ai une page avec un menu comme sur mon site
www.proteg.net

le pb est que lorsque je met cette meme page sur mon serveur FTP perso
dans
Easyphp, cela m'affiche cette erreur de variable :
--------------------------------------------------
Notice: Undefined variable: l1 in d:easyphp1-7wwwtestmain.php on line
27
------------------------------------------------------------

Dans EasyPHP 1.7, il y a l'affichage de toutes les erreurs y compris les

variables non définies.
Il faut changer : error_reporting = E_ALL & ~E_NOTICE
dans le dans php.ini
Voir FAQ de www.easyphp.org
ça c'est la solution "je code comme un cochon et je veux pas que ça se voie".


L'autre est de coder proprement.

Je lui indiquais le pourquoi de son message ; et l'éventuel bypass

immédiat.
Après, il code comme il veut...

Et d'ailleurs comment on fait pour pas comprendre "Undefined variable"
???

--
Seb.
Webmaster coste-du-rhone.com
Vente de grands vins des Côtes du Rhône
http://www.coste-du-rhone.com
(alcool, santé, modération toussa...)