0

可能重复:
检查 $_POST-value 是否为空

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

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

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

4

7 回答 7

4

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

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

现在执行空方法。

于 2012-09-17T12:37:43.557 回答
2

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

if (trim($_POST['r_user']) == false) {
    $data['error'] = 'Please pick a username to continue.';
    $data['errorID'] = 'r_user';
}
于 2012-09-17T12:35:52.667 回答
1

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

工作示例

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

live : 在键盘上检查

于 2012-09-17T12:34:19.953 回答
0

您可以在这里很好地使用修剪,它会删除前后的空白:

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!";

 ?>

输出:

于 2012-09-17T12:34:04.857 回答
0
if ( empty( trim( $_POST['r_user'] ))) { 

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

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

if ( empty( $myvar )) { 

或者

if ( trim( $_POST['r_user'] ) != '' ) {
于 2012-09-17T12:36:15.247 回答
0

您可以使用:

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

反而。

于 2012-09-17T12:36:20.170 回答
-1
if(isset($_POST['r_user'])){
           // ur code
           }
于 2012-09-17T12:45:44.900 回答