如何检查$ _POST中传入的输入是否为空?

时间:2012-09-17 12:33:02

标签: php

  

可能重复:
  Check whether $_POST-value is empty

我正在使用此代码来验证传递的输入是否为空,但是当我在输入中使用“空格”时,这会失败。它确实通过了empty()检查。

if (empty($_POST['r_user'])) {
    $data['error'] = 'Please pick a username to continue.';
    $data['errorID'] = 'r_user';
}

在PHP中检查空字符串的正确方法是什么?

7 个答案:

答案 0 :(得分:4)

在检查变量之前,您需要使用trim function

$trimUser= trim ($_POST['r_user']);

现在执行空方法。

答案 1 :(得分:2)

根据PHP documentation建议,您的代码将变为:

if (trim($_POST['r_user']) == false) {
    $data['error'] = 'Please pick a username to continue.';
    $data['errorID'] = 'r_user';
}

答案 2 :(得分:1)

你可以trim()从字符串的开头和结尾删除空格

工作示例

      $test = "      ";
      if(trim($test)){
         if (empty($test))
             echo "true";
         else
             echo "false";
      }

直播:在codepad

上查看

答案 3 :(得分:0)

你可以在这里很好地使用trim,它会删除正面和背面的空格:

if (empty(trim($_POST['r_user']))) { // Incorrect!
编辑,哇,今天学到了新东西。

然而,这将有效:

$var=trim($_POST['r_user']);
if (empty($var)) {

工作示例:

 <?php 
    $var='    ';
    $var=trim($var);
    if(empty($var))
        echo "Yay";
    else
        echo "Nay!";

 ?>

输出:

  

答案 4 :(得分:0)

if ( empty( trim( $_POST['r_user'] ))) { 

//错了!给出错误 - 学到新的东西:) //正确的方法应该是:

$myvar = trim( $_POST['r_user'] ); 

if ( empty( $myvar )) { 

if ( trim( $_POST['r_user'] ) != '' ) {

答案 5 :(得分:0)

您可以使用:

$var = '';
if (array_key_exists('r_user', $_POST)) {
  $var = trim($_POST['r_user']);
} 
if (empty($var)) {
   // do some stuffs
}

代替。

答案 6 :(得分:-1)

if(isset($_POST['r_user'])){
           // ur code
           }