私の Web サイトには、個人の詳細がメンバーと呼ばれるテーブルにある場合にのみ表示できるページがあり、値は前のページのフォームから投稿されます。これは私が持っていた元のコードで、うまくいきました:
$query = "SELECT * FROM Members WHERE firstname='" . $firstname . "' and surname='" .
$surname. "'";
$result = mysql_query($query);
$rows = mysql_num_rows($result);
if ($rows == 1)
{
//user continues loading page
}
else
{
header ('location: signup.html'); //user is redirected to sign up page
}
サイトにいくつかの変更を加えた後、同じユーザーがページの読み込みを続行するには、Members テーブルに payed='TRUE' を設定する必要があります。これは私が思いついたコードです:
$query = "SELECT * FROM Members WHERE firstname='" . $firstname . "' and surname='" .
$surname. "'";
$result = mysql_query($query);
$rows = mysql_num_rows($result);
$query = "SELECT paid FROM Members WHERE firstname='" . $firstname . "' and surname='" .
$surname. "'";
$result = mysql_query($query);
$paid = mysql_num_rows($result);
if ($rows == 1 && $paid=='TRUE')
{
//user continues loading page
}
else
{
header ('location: signup.html'); //user is redirected to sign up page
}
この新しいコードを使用すると、ユーザーが支払いを済ませたとしても、サインアップ ページにリダイレクトされます。これは間違った方法で行ったのでしょうか?