ホームページ > バックエンド開発 > PHPチュートリアル > PHPのセッションは値を渡すことができません

PHPのセッションは値を渡すことができません

WBOY
リリース: 2016-06-13 12:03:31
オリジナル
1001 人が閲覧しました

php のセッションは値
を渡すことができません。index.php を開きます。ログインしていない場合は、ログインを求めるメッセージが表示され、ログインと php への接続が確立されたら、ワンクリックでログインできます。ログインして、index.php に戻りますが、できません。何か問題があることはわかっていますが、常に機能するとは限りません。
index.php

<?php<br />	session_start();<br />	<br />	if(isset($_SESSION['user']) && $_SESSION['user']===1){<br />		echo 'welcome admin';<br />	}else{<br />		echo "plase login.<br><a href='login.php'>Login</a>";<br />	}
ログイン後にコピー


Login.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br /><title>请登录--后台管理系统</title><br /><style type="text/css"><br /><br /><br /></style><br /></head><br /><br /><body><br />	<form action="do.php" method="post"><br />    	<table><br />        <br />        	<tr><br />            	<th>用户名</th><br />                <td><input type="text" maxlength="10" name="user" /></td><br />            </tr><br />            <br />            <tr><br />            	<th>密码</th><br />                <td><input type="password" name="pass" maxlength="10" /></td><br />            </tr><br />            <tr><br />            	<td colspan="2" align="center"><br />                	<input type="submit" /><br />                    <input type="reset" /><br />                </td><br />            </tr><br />        </table><br />    <br />    </form><br /><br /></body><br /></html><br />
ログイン後にコピー


do.php

<?php<br /><br />$link=mysql_connect('localhost','root','root123')or die('连接数据库失败');<br />mysql_select_db('test',$link)or die('不能选择数据库test');<br />mysql_query('set names utf8');<br /><br />$user=$_POST['user'];<br />$pass=$_POST['pass'];<br />if($user==''){<br />	echo '请填写用户名';<br />	exit();<br />}<br />if($pass==''){<br />	echo '请填写密码';<br />	exit();<br />}<br />$sql="select * from user where user='{$user}' and pass='{$pass}'";<br /><br />echo $sql;<br />$result=mysql_query($sql);<br />//var_dump($result);<br /><br />	if($result>0){<br />		$_SESSION['user']='222';<br />		//header("Location: index.php");<br />		echo '<pre class="brush:php;toolbar:false">';<br />		print_r($_SESSION);<br />		echo '
';
echo $_SESSION['user'];
}

?>
ログイン後にコピー

------解決策----------------------
session_start() は の最後になければなりません。 php 上記、do.phpにも書かれているはずです。
------解決策---------
do.php の先頭に session_start() を追加します。 ;
------解決策--------------------------------
do.php プラス session_start();
-----解決策---------
if(isset($_SESSION['user']) && $_SESSION['user']===1){
ログイン後にコピー

最初に確認する必要があります。保存する値は数値 1 である必要があります。そうでない場合、=== を使用して比較することはできません。
さらに、do ページでログイン後の出力がテストであるかどうかを確認します。 、設定したセッションからエコーが出てこない場合は、
セッションが開いていないことを意味します
do ページの最初の行 session_start();

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