尝试获取代码以搜索键入的电子邮件地址中是否存在“ @”符号,如果没有则回显.无需搜索@代码,一切正常.
check.PHP
<?PHP
include '/connect.PHP'; //connects to MysqL
$email = MysqLi_real_escape_string($connect, $_POST['email']);
$check = MysqLi_query($connect, "SELECT email FROM users WHERE email='$email'");
$check_num_rows = MysqLi_num_rows($check);
if ($email==NULL) {
echo 'Enter an email';
} elseif (strlen($email)<6) {
echo 'Please enter a valid email';
} elseif (str($email).indexOf('@') == -1) {
echo 'Please enter a valid email';
} else {
if ($check_num_rows==0) {
echo 'Email valid';
} elseif ($check_num_rows==1) {
echo 'Email already registered';
}
}
register.PHP
<script type="text/javascript" src="/jquery-3.2.1.min.js"></script>
<script>
$(document).ready(function() {
$('#Feedback_email').load('/check.PHP').show();
$('#email').keyup(function() {
$.post('/check.PHP', { email: form.email.value },
function(result) {
$('#Feedback_email').html(result).show;
});
});
});
</script>
<form action="register.PHP" method="post" name="form">
<input id="email" type="text" name="email" placeholder="Email Address" maxlength="60" value="<?PHP if (isset($trimmed['email'])) echo $trimmed['email']; ?>">
<div id="Feedback_email"></div>
<p><center><input type="submit" name="submit" value="Register"></center>
</form>
编辑:我确实有一个内置的筛选器,用于PHP后端验证.但是,我也尝试通过这些代码进行前端验证.如果有人知道如何修复我的脚本,请发布.我收到错误
13号线
} elseif (str($email).indexOf('@') == -1) {
解决方法:
<?PHP
include '/connect.PHP'; //connects to MysqL
$email = MysqLi_real_escape_string($connect, $_POST['email']);
$check = MysqLi_query($connect, "SELECT email FROM users WHERE email='$email'");
$check_num_rows = MysqLi_num_rows($check);
if ( filter_var($email, FILTER_VALIDATE_EMAIL) ) {
if ($check_num_rows==0) {
echo 'Email valid';
} elseif ($check_num_rows==1) {
echo 'Email already registered';
}
} else {
echo 'Please enter a valid email';
}
?>
您的代码不起作用的原因是,因为PHP没有str或indexOf方法,您应该使用诸如strpos之类的东西
if (strpos($email, '@') === false) { ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。