SESSION的变量是存于服务端的,cookie与SESSION相关联,SESSION需要从COOKIE传来的会话标识,不同用户的数据就存于各自的session变量中。
创新互联建站专注于勐腊企业网站建设,响应式网站建设,商城网站建设。勐腊网站建设公司,为勐腊等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
在页面未输出前:
@session_start();
登录后从库中获取到信息,存入SESSION各变量中,然后在任何一个页面取得此变量。
$_SESSION["yourname"]=mysql_result($res,0,"name");
到另一个页取得此变量,如果没有取得合法数据,则没有登录
$yourname=$_SESSION["yourname"];
注意SESSION是个全局变量,所以不同页面可以调用。
当用户关闭了浏览器重新登录时,都会产生一个新的会话标识。如果没有关闭浏览器,无论打开多个页面,始终都是同一个会话标识。
在服务器端取得用户数据时,服务器首先会比对这个会话识标是否存在,存在才会取得原先保存的数据,否则就取不到。
这个道理就如同超市寄存件一样
你记住 所有在 引号里面的 东西都是字符串!!!!!
if("SELECT username,passwd FROM wen WHERE $username=$user,$passwd=$passwd"){
echo "scriptalert('欢迎登录!');window.location.href='index1.php';/script";
}
这一句代码本身就是不通的.
还有就是 你的sql语句也是错误的。
参考如下:
$sql = 'SELECT username,passwd FROM wen WHERE username="'.$user.'" AND passwd="'.$passwd.'"';
$result = mysql_query($sql,$conn);
手动回复,不谢
两个都有问题才对,你的SQL语句有错,假设$_POST['username']='user';
$_POST['password']='pass';你得到的语句是SELECT username FROM DB_TABLE WHERE name= user and password= pass
而正确的语句应该是SELECT username FROM DB_TABLE WHERE name= 'user' and password= 'pass'(掉了几个引号所以报错)