PHP检查用户是否在文本输入中键入了某些内容

时间:2012-01-05 15:31:06

标签: php html trim

我有一些简单的html文本输入。我想检查用户输入的东西而不仅仅是空格。我的代码不起作用。

HTML(表单中):

<input type='text' name='email' id='email' />

PHP(表单的“操作”页面):

$email=mysql_real_escape_string(strtolower(trim($_POST['email'])));

    if (!$email || empty($email)){    // these are the checks that don't work
           echo "no email entered";
     }

4 个答案:

答案 0 :(得分:10)

首先,只有在mysql中输入数据时才应使用mysql_real_escape_string。检查时不要使用它。

我的典型手动验证语法是:

if(!isset($_REQUEST['email']) || strlen(trim($_REQUEST['email'])) == 0){
    $errors[] = 'No email provided';
}

然后检查后,在将数据输入mysql时使用mysql_real_escape_string

mysql_query('UPDATE myusers SET email = "'.mysql_real_escape_string($_REQUEST['email']).'" WHERE id = "'.mysql_real_escape_string($_REQUEST['id']).'"');
祝你好运

答案 1 :(得分:2)

我会尝试

$email = trim($email);

if (!isset($email)){ 
    echo "no email entered";
}

if ($email == ''){ 
    echo "no email entered";
}

答案 2 :(得分:1)

试试这个:

if(preg_match('/[[:space:]]*/',$email){
    echo "no email entered";
}

这样您还可以避免换行标签

答案 3 :(得分:0)

只需更改&#39; text&#39;中输入字段的类型发送电子邮件&#39; 它会自动检查是否有人输入了有效的电子邮件。