Page 1 sur 1

Différence entre if(isset($_POST['valeur'])) et if($_POST['v

Posté : 23 janv. 2008, 02:14
par Anémone
Bonjour,

Mon petit doigt me dit qu'il doit y avoir une différence entre ces deux syntaxes, mais en vérité le contraire ne me déplairait pas(...) car je peine à la comprendre:
if(isset($_POST['valeur'])) 
if($_POST['valeur'] !="") 
Merci pour vos lumières

Posté : 23 janv. 2008, 02:27
par Genova
Bonsoir,
pour commencer as tu pris le temps de chercher ? http://fr.php.net/manual/fr/function.isset.php
isset() est tout de même une des bases du langage.
if($_POST['valeur'] !="")
vérifie que la valeur de $_POST['valeur'] soit différente du "vide" ('' ou 0 ou NULL)

if(isset($_POST['valeur']))  
vérifie juste que $_POST['valeur'] est une variable qui existe, peu importe son contenu.

Posté : 23 janv. 2008, 04:49
par AB
if(isset($_POST['valeur']))  
vérifie juste que $_POST['valeur'] est une variable qui existe, peu importe son contenu.
@Anémone
Attention cependant
si
$_POST['valeur'] = 0; ou  $_POST['valeur'] = '';
 if(isset($_POST['valeur'])) retourne vrai

mais si
$_POST['valeur'] = NULL ; 
if(isset($_POST['valeur'])) retourne faux

Posté : 23 janv. 2008, 07:49
par cf357
De même, si tu tentes d'écrire ça :
<?php
if($_POST['valeur'] !="");
?>
alors qu'il n'y a pas d'élément "valeur" dans le tableau $_POST, tu auras droit à un beau warning ! (si ton serveur les affiche ;))

Posté : 23 janv. 2008, 12:07
par Ryle
A voir également : la fonction empty() qui test à la fois si la variable n'est pas définie ou si celle-ci est définie mais vide :)

Posté : 25 janv. 2008, 01:19
par Anémone
Merci pour toutes ces réponses, que je vais approfondir en les mettant en pratique dans mon script en cours....

Posté : 25 janv. 2008, 02:01
par x@v
il n'y a rien a chercher
isset — Détermine si une variable est affectée
Alors que tu demandes si la variable est une chaine vide.
$toto != ""