我有一些简单的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";
}
答案 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; 它会自动检查是否有人输入了有效的电子邮件。