ユーザーにログインの詳細を尋ねるログインページがあり、それをCookieに送信してから詳細を検証しますが、何らかの理由でログインできません。コンピューターにインストールされた深淵のWebサーバーでローカルにテストすると、正常に動作しますが、ホスティングサーバーでテストしても機能しませんここに私のコードがあります:
ログインページが選択されるとすぐにこのように機能し、その後何が起こるかを尋ねます。ユーザーがアクティブ化されていない場合は、ユーザーをアクティブ化するように求められます。ユーザーがアクティブ化されている場合、ログインは機能しますが、ユーザーがアクティブ化されていないとすぐにアクティベーション要求より先に進まないでください。
ログインの質問:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>?cont=true&loginUSER=true" style="font-family:Calibri;">
<fieldset style="border-style:none">
<p>
Email: <input style="position:absolute; left:30%;" onkeyup="javascript: this.value=this.value.toLowerCase();" class="details" type="text" name="email" id="email" />
</p>
<p>
Password: <input style="position:absolute; left:30%;" class="details" type="password" name="password" id="password" />
</p>
<input type="submit" value="login" class="btn" style="background-color:#FFF; border-style:solid; border-width:thin; font-family:Calibri;" />
</fieldset>
</form>
Cookie が存在しない場合は最初にログインをチェックし、存在する場合は次にチェックします。
//A new login first create cookies and check if they are valid
if(!isset($_COOKIE["thebillboard"]))
{
//Don't allow user to login if this is not true;
$thisIsValid = false;
//set cookies for login details entered!
$email = $_POST["email"];
$pass = $_POST["password"];
setcookie("thebillboard",$email,time()+3600);
setcookie("password",$pass,time()+3600);
//check if the login details exists
$clients = mysql_query("SELECT * FROM clients");
while($row = mysql_fetch_array($clients))
{
if(($row["businessEmail"] == $email) && ($row["password"]) == $pass)
{
$thisIsValid = true;
break;
}
}
}
//If the cookies exists check if they are valid
elseif(isset($_COOKIE["thebillboard"]))
{
//Don't allow user to login if this is not true;
$thisIsValid = false;
//get cookies for login if it exists!
$email = $_COOKIE["thebillboard"];
$pass = $_COOKIE["password"];
//check if the login details exists
$thisIsValid = false;
$clients = mysql_query("SELECT * FROM clients");
while($row = mysql_fetch_array($clients))
{
if(($row["businessEmail"] == $email) && ($row["password"] == $pass))
{
$thisIsValid = true;
break;
}
}
変数 $thisIsValid が true の場合は続行され、ログイン ユーザーが表示されます。それ以外の場合は、ログインの詳細でエラーが返されます。