我尝试进行在线食品配送系统的注册验证时出错,我收到以下代码的错误消息:
<?php
session_start();
$nameErr=$unameErr=$emailErr=$passErr=$conpassErr=$existedErr=$conMsg=$matchErr="";
global $found;
if(isset($_REQUEST['submit'])){
$name = $_REQUEST['name'];
$uname = $_REQUEST['uname'];
$email = $_REQUEST['email'];
$pass = $_REQUEST['pass'];
$conpass = $_REQUEST['conpass'];
if(empty(trim($name))){
$nameErr = "Name is required";
}
else if(empty(trim($uname))){
$unameErr = "User name is required";
}
else if(empty(trim($email))){
$emailErr = "Email is required";
}
else if(empty(trim($pass))){
$passErr = "Password is required";
}
else if(empty(trim($conpass))){
$conpassErr = "Confirm password is required";
}
else{
if((trim($pass)) != (trim($conpass))){
$matchErr = "password and confirm password didn't match";
}else{
$file = fopen("user.txt", "r");
while(!feof($file)) {
$user = fgets($file);
$data = explode('|',$user);
if(trim($data[0]) == $uname){
$existedErr = "User name or email already existed";
$found=1;
fclose($file);
break;
}
else if(trim($data[2]) == $email){
$existedErr = "User name or email already existed";
$found=1;
fclose($file);
break;
}
}
if(!$found){
$file = fopen("user.txt", "a");
$txt = $uname."|".$pass."|".$email."|".$name."\n";
fwrite($file, $txt);
fclose($file);
$conMsg = "<br><h3>CONGRATULATIONS,Your registration is succesful !</h3><br>";
}
}
}
}
?>
请帮助我为什么会收到此错误?我试图通过删除电子邮件匹配条件来解决此错误。然后没有显示此错误。 如何检查user.txt文件中是否存在电子邮件而没有出现任何错误?
答案 0 :(得分:0)
您尚未关闭If语句。
我猜您在代码末尾忘记了一个}
答案 1 :(得分:0)
错误是因为
else if(trim($data[2]) == $email){
尝试将其修复为
else if(isset($data[2]) && trim($data[2]) == $email){
在某些用户不存在此索引的情况下,也尝试从您的user.txt
中进行调查。