当前位置: 首页 > 知识库问答 >
问题:

不能修改CI中的头信息

阎涵容
2023-03-14

我正在使用XAMPP开发CodeIgniter。当我在我的子域上上传我的文件时,它给我一个错误,但它在我的本地机器上工作。

这是我的控制器

if ($this->session->userdata('admin_email') && $this->session->userdata('admin_id')) {
$data['title'] = $this->session->userdata('admin_name');
$this->load->view('admin/header',$data);
$this->load->view('admin/topbar');
$this->load->view('admin/sidebar');
//$this->load->view('admin/home');
$this->load->view('admin/footer');
} 
else 
{
$this->session->set_flashdata('adminlogin','please login first..');
redirect('admin/login');
}

这是我的错误:

遇到一个PHP错误

严重性:警告

消息:无法修改标题信息-标题已由发送(输出从/home/shakzeec/public_html/demo/application/controllers/admin.php:2开始)

文件名:库/Session.php

行号:688遇到PHP错误

严重性:警告

消息:无法修改标题信息-标题已由发送(输出从/home/shakzeec/public_html/demo/application/controllers/admin.php:2开始)

文件名:库/Session.php

行号:688遇到PHP错误

严重性:警告

消息:无法修改标题信息-标题已由发送(输出从/home/shakzeec/public_html/demo/application/controllers/admin.php:2开始)

文件名:helpers/url\u helper。php

电话号码:542

共有2个答案

凌和悦
2023-03-14

这里是控制器/employers.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Employers extends CI_Controller {


        public function __construct() {
            parent::__construct();
            date_default_timezone_set("Asia/Manila"); 
            $this->load->model('_user');
        }

        public function index()
    {
            $data['userlist'] = $this->_user->get_user_list();
            $this->load->view('employers/index', $data);
            $this->template->render();
        }

        public function registration()
    {
            $data['userToken'] =$this->scriptor->userToken(); 
            $data['userlist'] = $this->_user->get_user_list();

            if(!isset($_REQUEST['msg'])){ $_REQUEST['msg'] = ''; }

            $this->load->view('employers/registration', $data);
            $this->template->render();

        }


        public function newregister()
    {
            $dr = strlen($_SERVER['PHP_SELF']) - 9;
            $path = $_SERVER["DOCUMENT_ROOT"] .substr($_SERVER['PHP_SELF'], 0, $dr) .'image/source/employer/' . strtolower($this->input->post('Username'));
            if(!is_dir($path)){
                //Make Directory
                if (!mkdir($path, 0777, true)) {
                    die('Failed to create folders...');
                }            
            }  
            $config['upload_path'] = $path;
            $config['file_name'] = url_title(strtolower($this->input->post('Username'))) . $this->upload->data('file_ext');
            $config['allowed_types'] = 'gif|jpg|png|';
            $config['max_size'] = '';
            $config['max_width'] = '';
            $config['max_height'] = '';
            $this->upload->initialize($config);
            $err = 'failed_reg';
            $ok = true;

           if(strlen($this->input->post('Username')) == 0){
                $ok = false;
                 $err = 'err_username';  
            }
            if(strlen($this->input->post('Lastname')) == 0 && $ok){
                $ok = false;
                $err = 'err_lastname';
            }
            if(strlen($this->input->post('Firstname')) == 0 && $ok){
                $ok = false;
                $err = 'err_firstname';
            }
            if(strlen($this->input->post('Email')) == 0 && $ok){
                $ok = false;
                $err = 'err_email';
            }
            if(strlen($this->input->post('Cellphone')) == 0 && $ok){
                $ok = false;
                $err = 'err_cellphone';
            }
            if(strlen($this->input->post('Telephone')) == 0 && $ok){
                $ok = false;
                $err = 'err_telephone';
            }
            if(strlen($this->input->post('Address')) == 0 && $ok){
                $ok = false;
                $err = 'err_address';
            }
            if(strlen($this->input->post('City')) == 0 && $ok){
                $ok = false;
                $err = 'err_city';
            }


                if(!$this->upload->do_upload('EmpPic') && $ok){
                     $ok = false;
                     if(is_dir($path)){
                         array_map('unlink', glob($path."/*"));
                         rmdir($path);
                     }
                    $err = 'err_image';
                 }
            if($_FILES['EmpGovID']['size'] > 0){
                if(!$this->upload->do_upload('EmpGovID') && $ok){
                     $ok = false;
                     if(is_dir($path)){
                         array_map('unlink', glob($path."/*"));
                         rmdir($path);
                     }
                    $err = 'err_image2';
                 }
            }

            if($ok){ 

            $i = array(
                         'Firstname'  => $this->scriptor->_enc($this->input->post('Firstname'))
                       , 'Middlename' => $this->scriptor->_enc($this->input->post('Middlename'))
                       , 'Lastname'   => $this->scriptor->_enc($this->input->post('Lastname'))
                       , 'Telephone'  => $this->scriptor->_enc($this->input->post('Telephone'))
                       , 'Cellphone'  => $this->scriptor->_enc($this->input->post('Cellphone'))
                       , 'Email'      => $this->scriptor->_enc($this->input->post('Email'))
                       , 'Address'    => $this->scriptor->_enc($this->input->post('Address'))
                       , 'City'       => $this->scriptor->_enc($this->input->post('City'))
                       , 'EPicture'   => base_url('image/employer') . '/'.$config['file_name']
                       , 'Username'   => $this->scriptor->_enc($this->input->post('Username'))
                       , 'Password'   => $this->scriptor->_enc($this->input->post('Password'))
                       , 'Token'      => $this->scriptor->userToken()
                       , 'Level'      => 'user'
                       , 'Yatype'     => $this->scriptor->_enc($this->input->post('Yatype'))
                       , 'GovID'      => base_url('image/employer') . '/'.$config['file_name']
                       , 'q1'         => $this->scriptor->_enc($this->input->post('q1'))
                       , 'q2'         => $this->scriptor->_enc($this->input->post('q2'))
                       , 'q3'         => $this->scriptor->_enc($this->input->post('q3'))
                       , 'aq1'        => $this->scriptor->_enc($this->input->post('aq1'))
                       , 'aq2'        => $this->scriptor->_enc($this->input->post('aq2'))
                       , 'salary'     => $this->scriptor->_enc($this->input->post('salary'))
                       , 'registeredDate' => date('Y-m-d h:i:s')
                       , 'Message'    => $this->scriptor->_enc($this->input->post('Message'))
                    );

                $this->_user->add($i);

                redirect('employers/registration?msg=success_reg');

            }  else {

                redirect('employers/registration?msg='. $err);

            }

            /******************************************************************/

        }//End Class

}
苏华荣
2023-03-14

一旦输出已经启动,PHP就不允许修改标题。重定向需要更改标头。如果你想重定向,只做一个重定向,其他什么都不做。

if (!$this->session->userdata('admin_email') && !$this->session->userdata('admin_id')) {
    $this->session->set_flashdata('adminlogin','please login first..');
    redirect('admin/login');
}
else{
    $data['title'] = $this->session->userdata('admin_name');
    $this->load->view('admin/header',$data);
    $this->load->view('admin/topbar');
    $this->load->view('admin/sidebar');
    //$this->load->view('admin/home');
    $this->load->view('admin/footer');
} 

此外,在修改标题之前,请确保控制器中没有其他可以发送输出的内容。

 类似资料:
  • 嗨,目前我还在学习CodeIgniter。我正在尝试使用它的会话,并在自动加载文件中启用了该会话 首先,文件的文件结构是这样的/ 我这样组织我的文件。所有模板都将放入视图/索引中。php 我的问题是我得到了这个错误

  • 问题内容: 我是PHP的新手,我刚刚练习了PHP setcookie()并失败了。 http:// localhost / test / index.php http:// localhost / test / view.php 但是我无法运行index.php,像这样的IE警告。 毫无疑问,我启用了IE 6 cookie。 我上面的程序有什么问题吗?谢谢。 使用WinXP OS和XAMPP 1.

  • 我在我的localhost上测试工作良好,现在显示任何错误,但上传到戈迪服务器后。 此错误显示在登录页面中。 错误消息1 消息:无法修改报头信息-已发送的报头(输出开始于 /home/user/public_html/ngapali/test/application/controllers/admin/user.php: 1) 文件名:库/会话。php 电话号码:433 错误消息2 消息:无法修改

  • 本文向大家介绍PHP 警告:无法修改标头信息-标头已发送,包括了PHP 警告:无法修改标头信息-标头已发送的使用技巧和注意事项,需要的朋友参考一下 示例 外观: 当脚本尝试将HTTP标头发送到客户端但之前已经有输出时,会发生此情况,这导致标头已经发送到客户端。 可能的原因 : 打印,回显:打印和回显语句的输出将终止发送HTTP标头的机会。必须对应用程序流程进行重组以避免这种情况。 原始HTML区域

  • 问题内容: 我已经为这个错误苦苦挣扎了一段时间了。 首先,我只是以为是空格,但经过进一步研究,我认为这可能是与此类似的问题: 在此标头语句之前,查找所有可能将输出发送给用户的语句。如果找到一个或多个,请更改代码以将标头语句移到它们之前。复杂的条件语句可能会使问题复杂化,但也可能有助于解决问题。考虑一下PHP脚本顶部的条件表达式,该条件表达式尽早确定标头值并将其设置在那里。 我猜想include标头

  • 我想知道是否有可能修改BLE信标的内容以包含额外信息。如果在末尾插入一个额外的位,则可能在一个方向上广播布尔值。从理论上讲,如果你修改了你的设备来读取额外的信息,这就行了。考虑到现有的协议,这听起来需要做很多工作。外面已经有这样的东西了吗? 对于信息,我正在mbed平台上工作,在那里你可以修改你自己的蓝牙信标有效载荷。