session_start():无法发送会话缓存限制器 - 已在我的服务器中发送的标头

时间:2016-11-09 06:24:35

标签: php codeigniter

我只在服务器中出现此错误,localhost很好。我不明白这是什么问题。我甚至尝试过很多无法解决的问题。

这是我的观点

 <form action="<?php echo base_url().'index.php/Quickaccess/index'?>" method="post" id="myform">                            
                        <li>
                                 Select the page
                                <select id="Pages" name="Pages" class ="form-control input-sm "style="width:210px">
                                <option value="1">Client</option>
                                <option value="2">Employee</option>
                                <option value="3">Project</option>
                                <option value="4">Task</option>
                                </select>
                                Numeric Value

                              <input type="text" name="PageID" style="width:210px" class ="form-control input-sm" id="text1"  />
                               <span id="error" style="color: Red; display: none">* Input digits (0 - 9)</span>
                               <button type="Submit" value="btnSearch" id="btnSearch" name="operation"  class="btn btn-info btn-small btn-3d"  >
                              <i class="fa fa-share"></i> &nbsp GO
                              </button>



                        </li>
</form> 

这是控制器

class Quickaccess extends CI_Controller {
public function __construct() {
    parent::__construct();

}
public function index()
{

     $this->load->library('user_agent');

    $Pages=$this->input->post('Pages');
    $PageID=$this->input->post('PageID');
    $EmployeeID=$this->db->query("select max(EmployeeID) as EmployeeID from HREmployees;");
    $Employee=$EmployeeID->row('EmployeeID');
    $ClientID=$this->db->query("select max(ClientID) as ClientID from CRMClients;");
    $Client=$ClientID->row('ClientID');
    $ProjectID=$this->db->query("select max(ProjectID) as ProjectID from OPProjects;");
    $Project=$ProjectID->row('ProjectID');
    $ProjectTaskID=$this->db->query("select max(ProjectPlanTaskID) as ProjectPlanTaskID from OPProjectPlanTasks");
    $ProjectTask=$ProjectTaskID->row('ProjectTaskID');

    if($Pages==NULL||$PageID==NULL)
    {

        redirect($this->agent->referrer());

    }
    else
    {
        if($Pages ==1 && $PageID<=$Client)
        {
          redirect(base_url('/Clients/ClientFullDetails/' . $PageID));  
        }
        elseif ($Pages ==2 && $PageID<=$Employee) 
        {
            redirect(base_url('/Employees/Employeefulldetails/' . $PageID));  
        }
        elseif ($Pages ==3 && $PageID<=$Project) 
        {
            redirect(base_url('/Projects/ProjectFullDetails/' . $PageID));  
        }
        elseif ($Pages ==4 && $PageID<=$ProjectTask) 
        {
            $ProjectID=$this->db->query("Select ProjectID from OPProjectPlanTasks where ProjectPlanTaskID=".$PageID);
            $Project=$ProjectID->row('ProjectID');
            redirect(base_url('/Projects/TaskFullDetails/'.$Project.'?PtID='. $PageID));  

        }
        else 
        {

            redirect($this->agent->referrer());
        }

    }
} 

请尽快告诉我一个解决方案

1 个答案:

答案 0 :(得分:0)

&#34;已发送标题&#34;意味着您的PHP脚本已经发送了HTTP标头,因此它现在无法对它们进行修改。

  

在调用session_start之前,请检查您是否发送了任何内容。   只需将session_start作为你在PHP文件中执行的第一件事.Put   session_start在所有HTML之前的绝对开头。