好吧,所以我正在上传图片的网站......现在我正在为网站注册工作。它几乎完全写在PHP。我遇到的问题是在次要if语句的else语句中(从开始的语句)...有一个问题,我似乎无法找到解决方案。PHP代码不显示它应该是什么
下面是它做什么:
- 检查是否电子邮件是有效的(如果不是它增加了错误文本到
$errors
阵列 - 检查,看它是否比我想要的是什么更长长度为。
- 检查是否电子邮件已经在数据库中通过另一个PHP脚本文件中一个单独的功能存在。
如果这些错误的存在,那么它是应该通过脚本底部的foreach
声明来显示它们。但是,我的问题是......它不显示错误。事实上......除了它上面的标题之外,它将屏幕留空。
<?php
if (isset($_POST['register_email'], $_POST['register_name'], $_POST['register_password'])) {
$register_email = $_POST['register_email'];
$register_name = $_POST['register_name'];
$register_password = $_POST['register_password'];
$errors = array();
if (empty($register_email) || empty($register_name) || empty($register_password)) { // **||** means "or"
$errors[] = 'All fields are required';
} else {
if (filter_var($register_email, FILTER_VALIDATE_EMAIL) == false) {
$errors[] = 'Email address not valid';
}
if (strlen($register_email) > 255 || strlen($register_name) > 35 || strlen($register_password) > 35) {
$errors[] = 'One or more fields contains too many characters';
}
if (user_exits($register_email)) {
$errors[] = 'That email has already been registered';
}
}
if (!empty($errors)) { //If errors do exist
foreach($errors as $error) {
echo $error, '<br />';
}
} else {
//register our user
}
}
?>
现在,我已经测试,以确保它不与功能(在问候了if (empty($register_email)...)
问题的一件事是,我已经做到了这一点
if (filter_var($register_email, FILTER_VALIDATE_EMAIL) == false) {
$errors[] = 'Email address not valid';
echo 'Email address is not valid';
} else {
echo 'Email address is valid';
而且它没有正常工作,它回应了正确的结果,但是当我尝试通过foreach语句(我必须这样做来显示多个错误)时,它不起作用。
PS我已去过3个不同的网站语法检查和一切签出好吧。 }
错误日志中的任何内容?另外,user_exits($ register_email)是否是一个错字?代码中的函数名是否正确('user_exits' vs'user_exists')? – marramgrass 2012-03-12 23:55:23
@marramgrass确实回答了我的问题,我在这里发表了一条评论,说他已经做了,但一定没有通过。而且,我说这个问题现在已经封闭了,因为问题已经解决了。如果问题得到解答,我们应该允许关闭这个问题,这样人们就不会不必要地降低人们的声誉。谢谢您的帮助。 – 2012-03-14 15:47:52