Je crois que tu fais la confusion entre une variable dont la valeur est nulle et une variable inéxistente non ?
Version imprimable
Je crois que tu fais la confusion entre une variable dont la valeur est nulle et une variable inéxistente non ?
possible... en tout cas ma solution marche comme je le desire...
C'est le principal. :D
Ta solution ne marche pas .. elle passe par le fait que :
C'est pas "proprement" code ... Si dans des evolutions futurs de PHP cette fonction retourne un erreur .. ton code ne fonstionnera plus .. il faudra le reecrire .. autant mettre isset() tout de suite ... :wink:Code:
1
2 empty() est l'opposé de (boolean) var, excepté le fait [b]qu'aucune alerte n'est générée lorsqu'une variable n'est pas définie. [/b]
si tu vx... et si je metCode:if(!isset($_Seesion...)) ???
La solution de macbook est ideale :
=> Si $_SESSION['login'] existe on recopie sa propre valeur dans lui meme ( c'est extreme mais c'est correct ) sinon on le cree a vide !Code:
1
2
3
4 <?php $_SESSION['login'] = isset ( $_SESSION['login'] ) ? $_SESSION['login'] : '' ; ?>
Ca tient sur une seule ligne et ca fait exactement ce que tu recherche.
si vous le dite ! effectivement sa marche... mais je ne compredn pas vraiment la syntaxe... que veux dire le "?" tout seul et qu'est ce que les ":" ??
C'est un opérateur ternaire : ( condition ) ? true : false ;
La doc -> http://fr3.php.net/manual/fr/language.operators.comparison (un peu plus bas dans la page ).
okey merci bien ! mais en quoi sa serai mieu que
Code:
1
2
3
4
5 if (empty($_POST['action'])) { $action = 'défaut'; } else { $action = $_POST['action']; }
sa veut dire la meme chose... ok on a moin de ligne mais a part sa ?
non ca veut pas dire la meme chose ...Citation:
Envoyé par cyrill
empty et Isset sont deux fonctions differentes... et elles n'ont pas la meme "fonction" ..
empty() test si une variable est NULL ou pas
isset() test si une variable existe ou pas
Tu peux faire ca ..
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 if (!isset($_POST['action'])) { // POST['action'] n'existe pas => Cas ou le formulaire n'a jamais ete SUBMITE $action = ''; } else { // POST['action'] existe => Apres un SUBMITE du formulaire if (empty($_POST['action'])) { // POSTE['action'] est vide = NULL $action = 'défaut'; } else { // POSTE['action'] n'est pas vide <> NULL $action = $_POST['action']; }
.. il manque une balise } fermante pour le else ...
$_session["login"] != $_SESSION["login"]