PHP が Cookie を設定し、ページにジャンプした後に Cookie の値が失われます
この投稿は opopen によって最終編集されました: 2015-08-12 22:54:00 問題は、正しいユーザーを入力したことです名前とパスワードを入力しても、再度ログインできます
Index.php ページの Cookie の値を取得できませんでした
ホームページは、ユーザー名を設定するかどうかを決定します。設定されていない場合は、設定に戻ります。何が起こっているか確認するのを手伝っていただけますか。
コードを投稿します:
<br /><br /><?php<br />//Login.php<br />//清空cookies<br />function clearCookies(){<br /> setCookie('username','',time()-3600); //删除cookies中标识符为username的变量的值<br /> setCookie('isLogin','',time()-3600); //删除cookies中标识符为isLogin的变量的值 <br /> setCookie('userpass','',time()-3600); //删除cookies中标识符为userpass的变量的值 <br />}<br />//判断用户是否登录<br /> //if($_GET['action']=='login')<br />// {<br /> clearCookies();<br /> $inputname = $_GET['loginname'];<br /> $inputpass = $_GET['loginpass'];<br /> echo '获取到用户名后立即输出'.$inputname.'</br>';<br /> echo '获取到密码后立即输出'.$inputpass.'</br>';<br /> //插入数据库<br /> $host = "localhost";<br /> $user = "root";<br /> $password = "";<br /> $dbname = "test";<br /> $connection = mysql_connect($host,$user,$password);<br /> //echo $connection;<br /> if($connection)<br /> {<br /> //$password = md5($password);<br /> echo '此处是密码'.$inputpass.'</br>';<br /> echo '此处是用户名'.$inputname.'</br>';<br /> <br /> mysql_select_db($dbname,$connection);<br /> echo "数据库链接成功了".'</br>';<br /> $sql = " SELECT * FROM `user_info` where `uname`='$inputname' and `upass` = '$inputpass' ";<br /> echo $sql;<br /> $result = mysql_query($sql);<br /> if($result)<br /> {<br /> $row = mysql_fetch_array($result);<br /> if($row)<br /> {<br /> var_dump($row);<br /> setcookie("username",$row['uname'],time()+3600*24,'/');<br /> setcookie("userpass",$row['upass'],time()+3600*24,'/');<br /> setCookie('isLogin','login',time()+3600*24,'/'); <br /> //echo $_COOKIE["isLogin"];<br /> //echo $checklogin;<br /> //echo $checkloginvalue;<br /> //$home_url = 'index.php';<br /> mysql_close($connection);<br /> //echo "<script language='javascript'> alert(\"欢迎您,${row}['uname']\");window.location='../index.html'</script>";<br /> header("location:index.php");<br /> <br /> }else<br /> {<br /> die("登录失败");<br /> }<br /> }<br /> }<br /> else{<br /> echo "数据库链接失败";<br /> }<br /> <br /> //}<br /> <br />?><br />
ログイン後にコピー
次はホームページです:index.php
<br /><?php<br /><br /> $username = $_COOKIE["username"]; <br /> var_dump($username);<br /> echo '此处输出Cookie里面的用户名'.$username;<br /> if($username=="" || $username==null)<br /> {<br /> echo"我进来了";<br /> //header("location:login.html");<br /> <br /> exit;<br /> }<br />?><br />
ログイン後にコピー
-----ソリューションのアイデア-- --------------------試してみたところ、ログインでき、Cookieも正常に書き込まれたので紹介します。スクリーンショット