Home >Backend Development >PHP Tutorial >php里头session传递不到值

php里头session传递不到值

WBOY
WBOYOriginal
2016-06-13 12:03:311007browse

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();

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn