重複の可能性:
PHP die() ですべてのページを消去
フィールド 1 をチェックします。すべて正しければ、メールとパスワードのチェックよりもユーザー チェックに渡されます...
そのため、ダイを使用してコードの進行を停止します
ただし、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");
}
?>