标题说的可能不太清楚,网站上有一个会员系统,只有会员可访问该栏目,但是每个会员只可以访问这个栏目自己的信息,不能查看其他会员的信息。应该怎么处理?现在我是这样做的。session_start();
header('Content-Type: text/html; Charset=utf-8');
include("public.inc.php");

$name=$_POST['name'];
$passowrd=$_POST['psw'];

if ($name && $passowrd){
$sql = "select * from member where name = '$name' and psw='$passowrd'";
$query = mysql_query($sql);
$result = mysql_fetch_array($query);
if($result){
$_SESSION['admin'] = $name;
header("Location: hyzl.php?id=$result[id]");
exit;
}else{
echo "<script language=javascript>alert('帐号错误请重新登录');window.location.href='lrpx.php';</script>";
}
}else {
echo "<script language=javascript>alert('为保证您和其他会员的信息安全,请先登录');window.location.href='lrpx.php';</script>";
}
没解决问题,只是绕开走了。我想的是如果只读取该会员的信息,那么必须得拿到这个会员的id才可以,然后信息通过$_GET[id]的方式再只将该会员的信息取出来。但是当我离开这个页面然后再回过头来查看该页面时则必须再登录一次,很麻烦,如果通过判断session存在不存的话则没办法取得id。应该怎么处理?或者能不能通过session把该会员的id取出来??总之就是想实现离开该页面后也可不登陆就能访问且只访问之前所登陆的那个会员帐号的信息。

解决方案 »

  1.   

    //类似如下session_start();
        header('Content-Type: text/html; Charset=utf-8');
        include("public.inc.php");
        $name=isset($_SESSION['name'])? $_SESSION['name']: $_POST['name'];//<<<<<<<<<<<<<<<<<<<<<<<<<<<
        $passowrd=isset($_SESSION['password'])? $_SESSION['password']: $_POST['psw'];//<<<<<<<<<<<<<<<<<<<<<<<<<<<
        
        if ($name && $passowrd){
            $sql = "select * from member where name = '$name' and psw='$passowrd'";
            $query = mysql_query($sql);
            $result = mysql_fetch_array($query);
            if($result){
                $_SESSION['admin'] = $name;
                $_SESSION['passowrd'] = $passowrd;//<<<<<<<<<<<<<<<<<<<<<<<<<<<
                header("Location: hyzl.php?id=$result[id]");
                exit;
            }else{
                echo "<script language=javascript>alert('帐号错误请重新登录');window.location.href='lrpx.php';</script>";
            }
        }else {
            echo "<script language=javascript>alert('为保证您和其他会员的信息安全,请先登录');window.location.href='lrpx.php';</script>";
        }
      

  2.   

    嘿嘿
    $name=isset($_SESSION['admin'])? $_SESSION['admin']: $_POST['name']
    这块这样,写错了
      

  3.   

    如果是我,我会这样试一下:
    登录后,先将登录人的ID保存在$_SESSION('ID')中,
    再从数据库中提取相应的信息,正常情况下,这些信息如果与以上登录人有关,应该会保存该登录人的一些记录!
    比如,信息数据表中有这个几个字段:
    信息编号,信息内容,发布该信息的用户或者叫与该信息有关的用户(id 外键)。
    提取后外键的值后,与我们保存在$_SESSION('ID')中的值进行判断,
    if(id == $_SESSION('ID')){
    显示
    }else
    不显示
    自己的意见,仅供参考!