[PHP]Problème avec les variables globals

abdelkaderg54 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -  
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   132
 
"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   Statut Membre Dernière intervention  
 
Oui mais un empty ne suffit pas ?
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
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