Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

definition de variable sans reinitialiser leur valeur

2 réponses
Avatar
Anonyme
Bonjour, depuis que je suis passée à la nouvelle version de php, je ne peux
plus utiliser une variable qui n'a pas été définie. Or, j'ai parfois besoin
d'utiliser de telles variables.
Exemple : dans un page d'accès privé, je demande un login et un mot de
passe, et j'affiche un msg d'erreur seulement si ceux-ci sont faux. J'avais
donc le script :

if (!($message))
{
$message="";
}
echo $message;

à présent ça ne marche plus, et le script suivant ne marche pas non plus :

if (!($_POST['message']))
{
$message="";
}
else
{
$message=$_POST['message'];
}
echo $message;

2 réponses

Avatar
Frederic BISSON
Bonjour, depuis que je suis passée à la nouvelle version de php, je ne peux
plus utiliser une variable qui n'a pas été définie. Or, j'ai parfois besoin
d'utiliser de telles variables.
Pour vérifier si une variable superglobale est initialisée, utilise

l'instruction isset. Exemple :
if(!isset($_POST['message'])) {
$message='';
} else {
$message=$_POST['message'];
}

Tu peux également te définir une fonction :

function recupere_post($nom,$par_defaut='') {
if(isset($_POST[$nom])) {
return $_POST[$nom];
} else {
return $par_defaut;
}
}

$message=recupere_post('message','Chaîne vide');

@+

Frédéric BISSON

Avatar
Anonyme
Finallement j'ai trouvé, il fallait utiliser la fonction isset() :

if (isset($_GET['msg']))
{
$msg=$_GET['msg'];
}
else
{
$msg="";
}