session_start (): не удается отправить ограничитель кэша сеанса-заголовки, уже отправленные на мой сервер

У меня эта ошибка только на сервере, 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 ответ

  1. «Headers already sent» означает, что ваш PHP скрипт уже отправил HTTP-заголовки, и как таковой он не может вносить в них изменения сейчас.

    Перед вызовом session_start убедитесь, что вы не отправляете содержимое.
    просто сделайте session_start первым, что вы сделаете в своем PHP-файле .Класть
    session_start в абсолютном начале, перед всеми HTML.