Php CodeIgniter会话错误

Php CodeIgniter会话错误,php,json,codeigniter,session,Php,Json,Codeigniter,Session,我对Codegniter框架相当陌生。我想为我的网站设置一个会话,但只要我点击浏览器的后退按钮,它就会转到我网站的主(登录)页面,当我单击“下一步”时,页面显示“未找到”。此外,在欢迎页面上,当我按下该按钮时,我也会进入登录页面,但会话数据仍然存在 以下是我的控制器(Welcome.php)的代码: My login.php视图: <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?> &

我对Codegniter框架相当陌生。我想为我的网站设置一个会话,但只要我点击浏览器的后退按钮,它就会转到我网站的主(登录)页面,当我单击“下一步”时,页面显示“未找到”。此外,在欢迎页面上,当我按下该按钮时,我也会进入登录页面,但会话数据仍然存在

以下是我的控制器(Welcome.php)的代码:

My login.php视图:

<?php
 defined('BASEPATH') OR exit('No direct script access allowed');
?>
  <!DOCTYPE html>
  <html lang="en">

  <head>
    <meta charset="utf-8">
    <title>
      <?php echo $title; ?>
    </title>


  </head>

  <body>

    <div id="container">
      <h1>
        <?php echo "login"; ?>
      </h1>

      <?php

    echo form_open('welcome/loginapi');
    echo validation_errors();
    echo "<p>Username: ";
    echo form_input('username');
    echo "</p>";

    echo "<p>Password: ";
    echo form_password('password');
    echo "</p>";

    echo "<p>";
    echo form_submit('login_submit','Login');
    echo "</p>";
    echo form_close();
    var_dump($this->session->all_userdata());
    ?>

        <p class="footer">Page rendered in <strong>{elapsed_time}</strong> 
seconds.
          <?php echo  (ENVIRONMENT === 'development') ?  'CodeIgniter 
Version <strong>' . CI_VERSION . '</strong>' : '' ?></p>
    </div>

  </body>

  </html>

{eassed\u time}中呈现的页面 秒。

My welcome_message.php视图

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="utf-8">
        <title><?php echo $title; ?></title>
</head>
<body>

<div id="container">
    <h1><?php echo "welcome page"; ?></h1>

    <div id="body">
        <?php           
            //var_dump($empid);
            var_dump($this->session->all_userdata('password'));
            echo form_open('welcome/getdata');
            echo form_hidden('_hidden_field',$this->session-
 >all_userdata('empid'));
            echo "<p>";
            echo form_submit('get_user','Users');
            echo "</p>";
            echo form_close();
        ?>
        <?php           
            echo form_open('welcome/logout');
            echo "<p>";
            echo form_submit('logout','Logout');
            echo "</p>";
            echo form_close();
        ?>
    </div>

    <p class="footer">Page rendered in <strong>{elapsed_time}</strong> 
seconds. <?php echo  (ENVIRONMENT === 'development') ?  'CodeIgniter Version 
<strong>' . CI_VERSION . '</strong>' : '' ?></p>
</div>

</body>
</html>

{eassed\u time}中呈现的页面 秒

编辑: 当我点击用户按钮时,它会通过getdata函数将我带到hr.php,当我返回时,它会将我带到welcome_message.php,但当我按下forward按钮时,它会从welcome_message.php告诉我重新提交

这是我的hr.php视图:

 <?php
 defined('BASEPATH') OR exit('No direct script access allowed');
 ?><!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="utf-8">
     <title><?php echo $title; ?></title>
 </head>
 <body onunload="">

 <div id="container">
     <h1><?php echo "Human Resource Management"; ?></h1>

     <div id="body">
         <div class="row">
                 <div class="col-lg-12">
                     <h1>Human Resource Management</h1>
                     <?php          
             echo form_open('welcome/registeruser');
             echo "<p>";
             echo form_submit('get_user','Register');
             echo "</p>";
             echo form_close();
         ?>
                 <br>
                 <br>
                 </div>
             </div>
         <div class="row">
                 <div class="col-lg-12">
                     <div class= "panel panel-default">
                         <div class="panel-heading">
                             <h4>Registered Employees</h4>
                         </div>
                         <div class="panel-body">
                         <table class="table table-hover">
                         <thead>
                             <tr>
                                 <th>Name</th>
                                 <th>Gender</th>
                                 <th>E-mail</th>
                                 <th>Contact No.</th>
                                 <th>Username</th>
                                 <th>Emp ID</th>
                                 <th>Department</th>
                                 <th>Designation</th>

                             </tr>
                         </thead>
                         <tbody>
                 <?php
                  foreach ($response as $object) {
                  ?>

                 <tr>

                     <td><?php echo $object->firstname; ?>&nbsp<?php echo 
  $object->lastname; ?></td>
                     <td><?php echo $object->gender; ?></td>
                     <td><?php echo $object->email; ?></td>
                     <td><?php echo $object->contactno; ?></td>
                     <td><?php echo $object->username; ?></td>
                     <td><?php echo $object->empid; ?></td>
                     <td><?php echo $object->department; ?></td>
                     <td><?php echo $object->designation; ?></td>
                     <td><?php          
             echo form_open('welcome/deleteuser');
             echo $object->empid;
             $empid=$object->empid;
             $department=$object->department;
             echo form_hidden('empid',$empid);
             echo form_hidden('department',$department);
             echo "<p>";
             echo form_submit('get_user','Delete');
             echo "</p>";
             echo form_close();
         ?></td>

                 </tr>

                   <?php
                 }?>
                         </tbody>    
                     </table>
                         </div>
                     </div>
                 </div>
             </div>
     </div>

     <p class="footer">Page rendered in <strong>{elapsed_time}</strong> 
 seconds. <?php echo  (ENVIRONMENT === 'development') ?  'CodeIgniter 
 Version 
 <strong>' . CI_VERSION . '</strong>' : '' ?></p>
 </div>

 </body>
 </html>

人力资源管理


注册雇员 名称 性别 电子邮件 联络电话。 用户名 Emp ID 部门 任命  

{eassed\u time}中呈现的页面 秒

我想在我的整个网站上保持会话,直到用户选择注销(销毁它)。
提前谢谢。

您需要使用
$this->session->userdata('is\u logged\u in')
获取会话值

您应该更改此行,检查会话值

  if($this->session->all_userdata('is_logged_in')==1){
          $this->load->view('welcome_message');
     } 
作为

可以更好地使用===运算符

  //as your session value is string
 if($this->session->userdata('is_logged_in')=== '1')
  {
     $this->load->view('welcome_message');
 }

这就解决了我的问题。非常感谢。我还希望我的网站通过单击浏览器中的“后退”和“前进”按钮在页面之间来回切换,但它总是告诉我重新提交表单。单击“后退”按钮时,您需要刷新页面。参考这个@GopalBhuva,我试着在我的身体标签中添加“onunload=”“,但前进按钮不起作用。我不知道答案中的新PHP文件应该如何集成@GopalBhuva Sorry man这也不起作用,它给了我一个错误“无法修改标题信息-标题已由发送(输出开始于C:\wamp\www\CodeIGN\application\controllers\Welcome.php:115)”所有\u userdata()都不推荐用于更多阅读
  if($this->session->all_userdata('is_logged_in')==1){
          $this->load->view('welcome_message');
     } 
if($this->session->userdata('is_logged_in')==1)
{
   $this->load->view('welcome_message');
}
  //as your session value is string
 if($this->session->userdata('is_logged_in')=== '1')
  {
     $this->load->view('welcome_message');
 }