>백엔드 개발 >PHP 튜토리얼 >php里头session传递不到值

php里头session传递不到值

WBOY
WBOY원래의
2016-06-13 12:03:311002검색

php里面session传递不到值
打开index.php,如果没有登录就提示需要登录,并且给了login,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页面的登录后的输出是测试的话,如果echo不出你设置的session
那就是你的session没有开启
在do页面第一行 session_start();

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.