php中利用session保存用户登陆信息

1、新建一个php文件session.php,用于定义session

<?php
session_start();//这个不能少
$_SESSION['hid_name'];
$_SESSION['hid_email'];
$_SESSION['hid_sex'];

2、在控制器中给session赋值和获取session信息,已经把用户信息再次传入HTML中,使存在用户登陆信息时,用户信息输入框不再显示

        include"session.php";//这是前面定义的那个php文件
        session_start();
        $login_name="";
        $login_email="";
        $login_sex="";
        $test_post=$_POST['hid_name'];//用于测试post是否传来数据
        $test_session=$_SESSION['hid_name'];//用于测试session里面是否已经具有数据
        if(strlen($test_post)>0){
            //第一次填写用户信息,其数据通过post传到控制器,在这一次将信息就写入session,
            //发表留言后会刷新页面,这时post里面不会有数据,只能读取session里面的用户信息,避免右侧信息栏显示
            $login_name=$_POST['hid_name'];
            $login_email=$_POST['hid_email'];
            $login_sex=$_POST['hid_sex'];
            //为session赋值
            $_SESSION['hid_name']=$login_name;
            $_SESSION['hid_email']=$login_email;
            $_SESSION['hid_sex']=$login_sex;
            //将用户信息传入HTML
            $this->assign("login_name",$login_name);
            $this->assign("login_email",$login_email);
            $this->assign("login_sex",$login_sex);
        }
        if(strlen($test_session)>0){
            //第二次发表留言或刷新页面,则从session里面读取用户信息
            //从session里面读取用户信息
            $login_name=$_SESSION['hid_name'];
            $login_email=$_SESSION['hid_email'];
            $login_sex=$_SESSION['hid_sex'];
            //将session里面的信息在此传入HTML
            $this->assign("login_name",$login_name);
            $this->assign("login_email",$login_email);
            $this->assign("login_sex",$login_sex);
        }
        if(isset($_POST['submit'])){
            //第一次提交表单时要接收表单上的用户信息
            $user_name=$_SESSION['hid_name'];
            $user_email=$_SESSION['hid_email'];
            $user_sex=$_SESSION['hid_sex'];
            //如果存在用户信息
            if(strlen($user_name)>0 && strlen($user_email)>0){
                $_SESSION['hid_name']=$user_name;
                $_SESSION['hid_email']=$user_email;
                $_SESSION['hid_sex']=$user_sex;
            }
            $this->assign("login_name",$login_name);
            $this->assign("login_email",$login_email);
            $this->assign("login_sex",$login_sex);
        }
3、HTML部分

 <div class="publisher_info">
        <p class="name">昵称:</>
        <input type="text" name="name" id="name_text" style="width: 100px;"/><p style="color: red; position: absolute; margin-top:-15px; margin-left:240px">*</p>
        <p class="sex">性别:</p>
        <input name="sex" type="radio" checked class="radio_sex" value="男"/>男
        <input name="sex" type="radio" value="女" class="radio_sex"/>女</br>
        <p class="email">邮箱:</p>
        <input class="email_text" name="email" type="text" style="width: 100px;"/><p style="color: red; position: absolute; margin-top:-15px; margin-left:240px">*</p>
        <input type="button" name="submit_user_info" id="submit_btn" class="user_info_btn" value="提交"/>
    </div>
    <div class="right_answer_div">
        <textarea name="content" class="" id="ta"></textarea>
        <input type="submit" value="提交" name="submit" id="submit" style="margin-left: 35px;"/>
        <input type="hidden" value='<?php echo $sscode;?>' name="submit_sign" id="submit_sign"><!--隐藏域,用于记录session的值-->
        <input type="hidden" value="<?php echo $login_name;?>" name="hid_login_name" id="hid_login_name"/>
        <input type="hidden" name="hid_name" id="hid_name"/>
        <input type="hidden" name="hid_login_email" value="<?php echo $login_email;?>" id="hid_login_email"/>
        <input type="hidden" name="hid_email" id="hid_email"/>
        <input type="hidden" name="hid_login_sex" value="<?php echo $login_sex;?>" id="hid_login_sex"/>
        <input type="hidden" name="hid_sex" id="hid_sex"/>
    </div>
实现的功能:在我的页面右侧有一个用户信息填写栏,用户必须提交自己的个人信息后才可以发表留言,用户提交个人信息后,这些信息将会被存入到session中,用户再次发表留言或者刷新页面时就不需要反复提交个人信息来进行留言了


  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值