phpsession求指导

php中文网
发布: 2016-06-23 14:00:49
原创
1139人浏览过

想在用户登入时用session保留他的用户名,一边在其他php文本里调用 ,但怎么写都不对,谁可以指导一下? 


session_start(); 
// 保存6小时 
$lifeTime = 6 * 3600; 

session_register ("nowuser") ; 
$username = htmlspecialchars($_POST['username']); 
$nowuser=$username; 
$password = $_POST['password']; 
$lastdate = date('Y-m-d'); 
include('conn.php'); 
mysql_query("set character set 'gbk'"); 
mysql_query("set names 'gbk'"); 

$sql = "select * from user where username='".$username."' and password='".$password."' "; 
$check_query=mysql_query($sql); 
$num=mysql_num_rows($check_query); 

if($num>0) 

echo "你好.$username.欢迎进入你的空间!"; 
echo "你最近一次的登入时间为.$lastdate"; 
echo"点击进入"; 

else { 
exit('登录失败!点击此处 返回 重试'); 

XPaper Ai
XPaper Ai

AI撰写论文、开题报告生成、AI论文生成器尽在XPaper Ai论文写作辅助指导平台

XPaper Ai 21
查看详情 XPaper Ai

回复讨论(解决方案)

This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.

直接用$_SESSION吧。

而且你的session_register ("nowuser") ; 时,nowuser是空的。

我的php版本还是4.多的。。。。
还有nowuser不是接受$username的赋值了吗

从 php 4.1.10 开始,session 的操作就应该用 $_SESSION 数组
既然你已经有用 $_POST ,那么你的 php 版本就该在 4.1.10 以上了

你只给除了 session 变量的设置,并没有给出读取
session_start();
echo $_SESSION['nowuser'];

如果想直接 echo $nowuser;
则需要打开 register_globals 开关

我并没有要读取,我想在另一个php脚本里调用当前登入的登入者的用户名,这该怎么做。

你不读取如何知道用户名是否存在、是什么?

先用一个php接收提交的表单用户名和密码,如果用户名和密码都和数据库中的相同,那么我想在logi。php中通过session来记下这个 正在登入的用户的用户名,然后在其他的php文本里调用这个用户名,来实现把我下一步想增加的信息添加到已存在用户的数据库表下。这个思路用session来实现有问题吗?还是我误解session的用法了。如果误解了,你可以给我提供一个实现该功能的思路吗?

login.php
保存session值:
$_SESSION['uname'] = "admin";


其他页面调用
session_start();
echo $_SESSION['uname'];

我来补全一下:

login.php(保存session值)
session_start();
$_SESSION['uname'] = "admin";


其他页面调用(提取session值)
session_start();
echo $_SESSION['uname'];

你就把session_start理解成开启了浏览器范围的全局变量$_SESSION 就行了...

登入检查页面

<?php session_start(); $username = htmlspecialchars($_POST['username']); $password = $_POST['password']; $lastdate = date('Y-m-d'); include('conn.php'); mysql_query("set character set 'gbk'"); mysql_query("set names 'gbk'"); $sql = "select * from user where username='".$username."' and password='".$password."' "; $check_query=mysql_query($sql); $num=mysql_num_rows($check_query); if($num>0){ $_SESSION['nowuser'] = $username;echo "你好.$username.欢迎进入你的空间!"; echo "你最近一次的登入时间为.$lastdate"; echo"<a herf='indexin.html'>点击进入</a>"; } else { exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试'); } ?>
登录后复制


登入后的页面:
<?phpsession_start();if(isset($_SESSION['nowuser'])){    echo "你好".$_SESSION['nowuser']."欢迎进入你的空间!"; }else{    echo "未登入";}?>
登录后复制

谢谢楼上诸位,受用了。

我来补全一下:

login.php(保存session值)
session_start();
$_SESSION['uname'] = "admin";


其他页面调用(提取session值)
session_start();
echo $_SESSION['uname'];

你就把session_start理解成开启了浏览器范围的全局变量$_SESSION 就行了...



正解 ,结贴给分吧

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号