Page 1 sur 1

Fonction "isset" marchant pas avec php4?

Posté : 25 févr. 2007, 15:43
par djeek9006
Bonjour, je ne comprends pas, je suis chez un hebergeur ayant la version 4.4.4 de php, et il ne comprends pas le petit script :
<?php
if (isset($site))
{
$id = $_GET['site'];
print("<center>bienvenue sur $id</center>");
}
?>
Que je mette : test.php?site=24 ou test.php?[nimporte]=[nimporte]
j'obtiens une page blanche ... meme pas de message d'erreur .. cela vient il de mon serveur?
Merci pour vos réponses.

Posté : 25 févr. 2007, 15:59
par ouckileou
Pourquoi tu n'utilises pas aussi $_GET['site]' dans ton test ? Si tu passes une variable "site" dans l'url, c'est pourtant ce qu'il faut utiliser, la variable $site correspondant à une variable définie directement dans le script.

Ce qui se passe est donc parfaitement normal.

Posté : 25 févr. 2007, 16:29
par djeek9006
En fait, elle ne sera pas forcément présente, et dans ce cas, ca mettra une erreur ...

Posté : 25 févr. 2007, 17:03
par Aureusms
non cela ne provoquera pas d'erreur mais cela n'affichera pas print("<center>bienvenue sur $id</center>"); c'est tout.

essaye alors
<?php
if (isset($_GET['site']))
{
$id = $_GET['site'];
print("<center>bienvenue sur $id</center>");
}
?>
Petit conseil cependant essaye de tester si la variable est vide ou non via empty(); car dans l'url en méthode GET :
test.php?site=24 -> if (isset($_GET['site'])) répondra TRUE
test.php?site= -> if (isset($_GET['site'])) répondra TRUE aussi

Posté : 25 févr. 2007, 21:22
par djeek9006
Ca marche, merci beaucoup, vous êtes vraiment sympa sur ce forum!

Posté : 25 févr. 2007, 21:50
par albat
Petite correction de syntaxe :
il est recommandé d'extraire les variables des chaînes de caractères...
if (isset($_GET['site']))
   { $id = $_GET['site'];
     echo "<center>bienvenue sur ",$id,"</center>";
   } 

Posté : 26 févr. 2007, 00:35
par ouckileou
Et voici le pouruqoi de ce changement de configuration :
http://www.phpfrance.com/forums/voir_sujet-48.php