PHP检查用户在文本输入
类型的东西,我有几个简单的HTML文本输入。我想检查用户输入的东西,而不只是空格。我下面的代码不起作用。PHP检查用户在文本输入
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";
}
首先,你应该只使用MySQL的内部输入数据时mysql_real_escape_string 。检查时不要使用它。
我典型的手工验证语法是这样的:
if(!isset($_REQUEST['email']) || strlen(trim($_REQUEST['email'])) == 0){
$errors[] = 'No email provided';
}
检查在此之后,使用mysql_real_escape_string而将数据输入到MySQL
mysql_query('UPDATE myusers SET email = "'.mysql_real_escape_string($_REQUEST['email']).'" WHERE id = "'.mysql_real_escape_string($_REQUEST['id']).'"');
好运
试试这个:
if(preg_match('/[[:space:]]*/',$email){
echo "no email entered";
}
这种方式还能避免换行符和标签。
关闭我的头顶,我会尝试
$email = trim($email);
if (!isset($email)){
echo "no email entered";
}
或
if ($email == ''){
echo "no email entered";
}
只是改变从“文”到“电子邮件” 输入字段它会自动检查的类型有人被输入一个有效的电子邮件或没有。
这不仅仅是一个回答而是一个评论。请在答案中提供足够的详细信息,即使您认为这是一个简单问题,或者您想要参考链接或任何其他内容。 – Masoud 2017-07-12 19:33:54
这不提供问题的答案。一旦你有足够的[声誉](https://stackoverflow.com/help/whats-reputation),你将可以[对任何帖子发表评论](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提问者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- I-DO-代替)。 - [来自评论](/ review/low-quality-posts/16722419) – svarog 2017-07-16 21:01:38
你检查什么是'$ _ POST []'? – Rupak 2012-01-05 15:33:21
对我来说很好,谢谢你的分享。 – Robert 2012-01-05 15:33:55
在你的“动作”部分之前检查'$ _POST ['email']'是什么。另外,要清楚,当你说*不工作时,你的意思是“没有输入电子邮件”在有空电子邮件变量时不显示? – Josh 2012-01-05 15:40:42