ホームページ > バックエンド開発 > PHPチュートリアル > PHP の SESSION は無効なので、他のファイルでは正常に動作します。

PHP の SESSION は無効なので、他のファイルでは正常に動作します。

WBOY
リリース: 2016-06-13 12:51:52
オリジナル
825 人が閲覧しました

PHP の SESSION は無効なので書き込むことができませんが、他のファイルでは正常に動作します。

<br />
<?php<br />
	session_start();<br />
	if(isset($_POST['sub'])){<br />
		require "./config.php";<br />
		if($_POST['login_name']==$admin_name && $_POST['login_pwd']==$admin_pwd){<br />
			$_SESSION['login_status']=="oko";<br />
		}else{<br />
			echo "<font color='red'><b>帐号或密码错误!</b></font>";<br />
		}<br />
	}<br />
?><br />
<html><br />
	<head><br />
		<title>后台管理页面</title><br />
	</head><br />
	<body><br />
		<?php<br />
			if($_SESSION['login_status']!="oko"){<br />
				var_dump($_SESSION['login_status']);//这个地方一直是NULL<br />
		?><br />
		<form name="login" method="post" action=""><br />
			username:<input type="text" name="login_name" /><br/><br />
			password:<input type="password" name="login_pwd" /><br/><br />
			<input type="submit" name="sub" value="submit" /><br />
		</form><br />
		<?php<br />
			}else{<br />
				echo "ll";<br />
			}<br />
		?><br />
	</body><br />
</html><br />
ログイン後にコピー


コードは上記のとおりで、非常に単純ですが、SESSION は一度も書き込まれていません。理由はわかりません。 !


-----解決策---------
$_SESSION['login_status'] ="oko"; //代入は = 記号です
-----解決策------ - -
修正コード

if(isset($_POST['sub'])){
"./config.php" が必要です;
if($_POST['login_name']==$admin_name && $_POST['login_pwd']==$admin_pwd){
$_SESSION['login_status']="oko";//この場所に余分な「=」があります
}その他{
echo "アカウントまたはパスワードが間違っています!";
}
}その他{
session_start();//session_start(); 一度実行してコードの先頭に置くだけです
}
?>

<頭>
バックエンド管理ページ


if($_SESSION['login_status']!="oko"){
var_dump($_SESSION['login_status']);//この場所は常に NULL です
?>
<フォーム名="ログイン" メソッド="投稿" アクション="">
ユーザー名:

パスワード:



}その他{
echo "ll";
var_dump($_SESSION['login_status']);//この場所が必要な場合は印刷できます
}
?>



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