PHP 实时服务器中的 Cookie 不起作用,但在本地主机中起作用
PHP Cookies in live server do not work but work in Local Host
我有一个记住我登录的按钮,我在其中检查它是否已设置 我设置电子邮件和密码的 cookie,以便稍后在用户尝试登录时将它们放入他们的字段中,如果记住我则销毁它们按钮未选中。
if(isset($_POST["rememberme"])) { //set cookie if checkbox is checked
setcookie ("member_ID", $userMail, time()+ (86400));
setcookie ("member_Password", $password, time()+ (86400));
}else { //delete cookie if checkbox is not checked
if(isset($_COOKIE['member_ID']) && isset($_COOKIE["member_Password"])) {
$CookieID = $_COOKIE["member_ID"];
$Cookiepassword = $_COOKIE["member_Password"];
setcookie("member_ID", $CookieID, time() - 1);
setcookie("member_Password", $Cookiepassword, time() - 1);
}
}
这是将 cookie 放入用户输入字段的代码
if(isset($_COOKIE['member_ID']) && isset($_COOKIE["member_Password"])){
echo '
<div class="LoginContainer">
<form action="'.$_SERVER["PHP_SELF"].'" method="post">
<div class="loginSpacing">
<div>
<label for="userID" >Email</label>
</div>
<div>
<input id="userID" name="userMail" required value="'.$_COOKIE['member_ID'].'"type="text">
</div>
</div>
<div class="loginSpacing">
<div>
<label for="Loginpass" >Password</label>
</div>
<div>
<input id="Loginpass" name="Loginpass" required value="'.$_COOKIE["member_Password"].'"type="password" data-type="password">
</div>
</div>
<div>
<input id="rememberme" type="checkbox" name="rememberme" value="1" checked = "checked">
<label for="rememberme" style="font-size:18px;font-size: 18px;"><span ></span> Keep me Signed in</label>
</div>
<div>
<input type="submit" name="submit" class="SignIn-btn" value="Sign In">
</div>
</form>
</div>
';
}
因此在 xampp 本地主机上它运行良好。但是一旦我将它发布到网上,它就不起作用了,我无法弄清楚为什么。我确定变量 $userMail 和 $password。我可以做些什么或缺少什么来完成这项工作,如果你们有任何建议可以使机制更好
所以基本上我被重定向到的页面我在页面顶部添加了设置的 cookie 代码然后它工作
我有一个记住我登录的按钮,我在其中检查它是否已设置 我设置电子邮件和密码的 cookie,以便稍后在用户尝试登录时将它们放入他们的字段中,如果记住我则销毁它们按钮未选中。
if(isset($_POST["rememberme"])) { //set cookie if checkbox is checked
setcookie ("member_ID", $userMail, time()+ (86400));
setcookie ("member_Password", $password, time()+ (86400));
}else { //delete cookie if checkbox is not checked
if(isset($_COOKIE['member_ID']) && isset($_COOKIE["member_Password"])) {
$CookieID = $_COOKIE["member_ID"];
$Cookiepassword = $_COOKIE["member_Password"];
setcookie("member_ID", $CookieID, time() - 1);
setcookie("member_Password", $Cookiepassword, time() - 1);
}
}
这是将 cookie 放入用户输入字段的代码
if(isset($_COOKIE['member_ID']) && isset($_COOKIE["member_Password"])){
echo '
<div class="LoginContainer">
<form action="'.$_SERVER["PHP_SELF"].'" method="post">
<div class="loginSpacing">
<div>
<label for="userID" >Email</label>
</div>
<div>
<input id="userID" name="userMail" required value="'.$_COOKIE['member_ID'].'"type="text">
</div>
</div>
<div class="loginSpacing">
<div>
<label for="Loginpass" >Password</label>
</div>
<div>
<input id="Loginpass" name="Loginpass" required value="'.$_COOKIE["member_Password"].'"type="password" data-type="password">
</div>
</div>
<div>
<input id="rememberme" type="checkbox" name="rememberme" value="1" checked = "checked">
<label for="rememberme" style="font-size:18px;font-size: 18px;"><span ></span> Keep me Signed in</label>
</div>
<div>
<input type="submit" name="submit" class="SignIn-btn" value="Sign In">
</div>
</form>
</div>
';
}
因此在 xampp 本地主机上它运行良好。但是一旦我将它发布到网上,它就不起作用了,我无法弄清楚为什么。我确定变量 $userMail 和 $password。我可以做些什么或缺少什么来完成这项工作,如果你们有任何建议可以使机制更好
所以基本上我被重定向到的页面我在页面顶部添加了设置的 cookie 代码然后它工作