我有几个简单的
HTML文本输入.我想检查用户输入的东西而不仅仅是空格.我的代码不起作用.
HTML(表单中):
<input type='text' name='email' id='email' />
$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时使用MysqL_real_escape_string
MysqL_query('UPDATE myusers SET email = "'.MysqL_real_escape_string($_REQUEST['email']).'" WHERE id = "'.MysqL_real_escape_string($_REQUEST['id']).'"');
祝好运