【发布时间】:2020-12-30 11:39:04
【问题描述】:
我有一个表单,用户必须在其中输入电子邮件地址。
我检查邮箱地址是否已经存在于数据库中,如果存在则发送错误警报,否则记录。
我注意到如果数据库包含电子邮件:a@a.com 并且我插入带有空格的 a@a.com,代码会将其解释为新的电子邮件地址,然后将其作为不存在的电子邮件地址传递并开始注册,我不想这样做的行为。
为了解决这个问题,我插入了代码和我的测试:
if (isset($_POST['submit']))
{
$email = $connessione->real_escape_string($_POST['email']);
$controlla_pro = mysqli_query($connessione,"SELECT invite_email FROM invite WHERE invite_email='$email'");
$risultato_controllapro=mysqli_num_rows($controlla_pro);
if($risultato_controllapro==0)
{
/*CODE OK*/
}else{
/*CODE NOT OK*/
}
}
尽量不要使用空格验证电子邮件地址:
$email = $connessione->real_escape_string(str_replace(' ','',$_POST['email']));
但它不起作用,我做错了什么?
又一次尝试,但没有成功:
首先:干净的输入
之后:real_escape_string
$no_space_email = str_replace(' ','',$_POST['email']);
$email = $connessione->real_escape_string($no_space_email);
【问题讨论】:
-
如果你想删除开头和结尾的空格,然后使用 php
trim()函数。我想它会解决你的问题。
标签: php input str-replace