2010-03-17 6 views
0

J'ai un formulaire qui a une boîte d'entrée et une boîte de sélection. je veux appliquer que rien ne peut être vide ou vide avant autre activité, donc je utiliser ci-dessous étatquelle différence entre NULL, vide et vide en PHP?

foreach($_POST as $k=>$v) 
{ 
    if($v=='' || $v==NULL || empty($v)) 
    { 
     $_SESSION['errMsg']=' Please fill all the fields properly'; 
        header("location:somepage.php"); 
        exit; 
    } 
    } 

maintenant ma question est:

ci-dessus if est utile ou non?

sinon quelle condition est suffisante pour empêcher l'entrée vide $v=='' ou $v==NULL ou empty($v) ou je dois utiliser toutes ces conditions?

Merci à l'avance

+0

Vouliez-vous dire '$ v == '' 'au lieu de' '$ v == '' – Amarghosh

Répondre

10

empty() devraient prendre soin de tous ceux-ci.

A partir du manuel:

Les choses suivantes sont considérées comme vides:

  • "" (une chaîne vide)
  • 0 (0 comme un entier)
  • "0" (0 sous forme de chaîne)
  • NULL
  • FALSE
  • de réseau
  • () (e tableau vide)
  • var $ var; (Une variable déclarée, mais sans valeur dans une classe)

Et le très pratique Type-Comparison Table

1

Mike a déjà été décrit lorsque emtpy() est évaluée à true.
Mais notez ceci:

  • Chaque valeur $_POST est une chaîne de toute façon, si l'on compare à NULL est inutile.
  • Si un champ est autorisé à avoir la valeur 0, vous devez traiter différemment comme empty() retournera true pour cette valeur trop!
+0

alors qu'est-ce que je dois faire monsieur? S'il vous plaît me suggérer idée complète – diEcho

1

La fonction PHP empty() vérifie tout ce que vous avez demandé. Vous pouvez également considérer que les champs de formulaire sont vides, s'ils contiennent uniquement des espaces ou des sauts de ligne. Évitez cela en ajoutant trim().

 
foreach($_POST as $k=>$v) { 
    if (empty(trim($v))) { 
     //... 
    } 
} 
Questions connexes