[PHP]Problème avec les variables globals

Fermé
abdelkaderg54 Messages postés 63 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 27 avril 2013 - 27 août 2009 à 15:40
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 - 27 août 2009 à 17:02
Bonjour,
Donc le problème est simple mais je n'y trouve aucune solution...
Alors à chaque fois que je veux utiliser une variable global genre :
if(!empty($_POST['truc'])) {
$truc=$_POST['truc'];
}

Ben le serveur m'insulte gentillement en affichant cet erreur: Notice: Undefined index:truc
Pour éviter il faut qu'à chaque fois que je m'en sers de la fonction isset o_O et ce n'est guerre trop original car je crois que la fonction empty fais l'affaire elle vérifie l'existante et même plus ?
Ya t'il une directive de configuration à utiliser par hasard pour éviter ça ?
Merci
A voir également:

3 réponses

Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
27 août 2009 à 15:49
"Pour éviter il faut qu'à chaque fois que je m'en sers de la fonction isset"
Gné??

Oui pour éviter l'erreur que tu as il faut que tu utilises la fonction isset
Si tu veux raccourcir tu peux mettre :

$truc = (isset($_GET['truc])) ? $_GET['truc'] : "";

C'est équivalent à

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

Mais c'est un peu plus rapide ! =)
0
abdelkaderg54 Messages postés 63 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 27 avril 2013
27 août 2009 à 16:24
Oui mais un empty ne suffit pas ?
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
27 août 2009 à 17:02
D'après le manuel PHP, empty fonctionnerait bien aussi pour dire si une variable est définie ou pas mais elles ont quelques différences :
Pour bien différencier les 2 fonctions, le manuel php propose un exemple clair :
<?php
$var = 0;

// Evalué à vrai car $var est vide
if (empty($var)) {
echo '$var vaut soit 0, vide, ou pas définie du tout';
}

// Evalué à vrai car $var est défini
if (isset($var)) {
echo '$var est définie même si elle est vide';
}
?>

Voilà j'espère que ça va t'aider
0