可能重复:
PHP die() 清理所有页面
我检查字段 1,如果全部正确,将传递给用户检查而不是电子邮件和密码检查...
因此我使用 die 来阻止代码继续运行
但是当我使用 die() 时,它会杀死所有页面,以任何方式保留所有页面但只回显 $error_message
当我使用 die() 时,它看起来像跳转到另一个页面
<?PHP
session_start();
if(isset($_SESSION['firstname']) && isset($_SESSION['lastname'])){
header('location:member.php');
}
$firstname=""; $lastname=""; $email=""; $re_email=""; $error_message="";
if(isset($_POST['signup'])){
$firstname=strip_tags(ucfirst($_POST['firstname']));
$lastname=strip_tags(ucfirst($_POST['lastname']));
$email=strip_tags(strtolower($_POST['email']));
$re_email=strip_tags(strtolower($_POST['re_email']));
$password=strip_tags($_POST['password']);
$re_password=strip_tags($_POST['re_password']);
$date=date("Y-m-d");
if($firstname && $lastname && $email && $re_email && $password && $re_password && $age && $gender && $employment){}
else{die($error_message="Please fill in all fields");}
//USERNAME CHECKING////////////////////////////////////////////////////////
$connect=mysql_connect("localhost", "root", "");
$database=mysql_select_db("phplogin", $connect);
$namecheck=mysql_query("SELECT email FROM users WHERE email='$email'");
$count=mysql_num_rows($namecheck);
if($count!=0)
{die("Username already taken");}
//////////////////////////////////////////////////////////////////////////
if($email==$re_email && $password==$re_password){}
else{die("email or password do not match");}
//Checking valid email//
$strpos=strpos($email, "@");
if(!$strpos)
{die("This is not valid email");}
//Password length//////////////////////////////////////////////////////////
if(strlen($password)<6)
{die("Password is too short");}
echo "Register user!";
$password=md5($password);
$SQL="INSERT INTO users (email, password, firstname, lastname, date)
VALUES ('$email','$password','$firstname', '$lastname', '$date')";
$result=mysql_query($SQL);
session_start();
$_SESSION['firstname']=$db_firstname;
$_SESSION['lastname']=$db_lastname;
header("location:member.php");
}
?>