ホームページ > バックエンド開発 > PHPチュートリアル > PHPでCookieを設定してページにジャンプした後にCookieの値が失われる問題の解決策

PHPでCookieを設定してページにジャンプした後にCookieの値が失われる問題の解決策

WBOY
リリース: 2016-06-13 12:25:29
オリジナル
2227 人が閲覧しました

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も正常に書き込まれたので紹介します。スクリーンショット
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート