Php 会话和HTTP身份验证
我有一个网站,用户使用http身份验证进行登录,我想做的是使用他们的用户名启动一个会话,以便稍后通过页面以基于该用户名提取文件 我了解并拥有另一个针对sql数据库执行此操作的站点(仅举一个例子,显示了一些代码):Php 会话和HTTP身份验证,php,html,session,authentication,Php,Html,Session,Authentication,我有一个网站,用户使用http身份验证进行登录,我想做的是使用他们的用户名启动一个会话,以便稍后通过页面以基于该用户名提取文件 我了解并拥有另一个针对sql数据库执行此操作的站点(仅举一个例子,显示了一些代码): //此处的会话变量等 mysql_select_db($mysql_database,$db)或die('select database'失败。mysql_error()); $sql=“选择密码,全名,从“$mysql\u表”中激活。其中username=”。mysql\u real
//此处的会话变量等
mysql_select_db($mysql_database,$db)或die('select database
'失败。mysql_error());
$sql=“选择密码,全名,从“$mysql\u表”中激活。其中username=”。mysql\u real\u escape\u字符串($\u POST['username'])。”;
$result=mysql\u查询($sql,$db);
if($data=mysql\u fetch\u数组($result))
{
如果($crypt_pass==$data['password']&&$data['active']!=0)
{
$found=true;
$fullname=$data['fullname'];
}
}
mysql_close($db);
如果($found==false)
{
标题('Location:'。$error_page);
出口
}
其他的
{
如果(会话id()==“”)
{
会话_start();
}
$\会话['username']=$\发布['username'];
$\会话['fullname]=$fullname;
$\u SESSION['expires\u by']=time()+$SESSION\u timeout;
$\u SESSION['expires\u timeout']=$SESSION\u timeout;
$rememberme=isset($_POST['rememberme'])?真:假;
如果($rememberme)
{
setcookie('username',$\u POST['username',time()+3600*24*30);
setcookie('password',$\u POST['password',time()+3600*24*30);
}
然后在后续页面中使用此选项获取该信息:
需要时:
echo $_SESSION['user']
不要忘了在使用会话的页面上添加session_start();
(在任何输出之前)使用http基本身份验证?()谢谢你的链接,我可以解决这个问题,但还没有找到。我很感激Dagon。为它的价值添加了一点答案;-)谢谢Dagon,给了我一些可以使用的东西。因此我可以基本上把他们登录/输入的页面放在页面上,然后应该转到其他页面,对吗?isset
不是!是吗设置
,对此表示抱歉一切都很好,我得到了它,再次感谢Dagon的帮助,至少我有了正确的php_auth_用户,我只是认为还有更多。现在完成这一切,非常感谢。
if (isset($_SERVER['PHP_AUTH_USER'])) {
$_SESSION['user']=$_SERVER['PHP_AUTH_USER'];
}
echo $_SESSION['user']