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

Codeigniter登录无法修改标头信息

钱睿范
2023-03-14

我在我的localhost上测试工作良好,现在显示任何错误,但上传到戈迪服务器后。

此错误显示在登录页面中。

错误消息1

消息:无法修改报头信息-已发送的报头(输出开始于 /home/user/public_html/ngapali/test/application/controllers/admin/user.php: 1)

文件名:库/会话。php

电话号码:433

错误消息2

消息:无法修改报头信息-已发送的报头(输出开始于 /home/user/public_html/ngapali/test/application/controllers/admin/user.php: 1)

文件名:库/会话。php

电话号码:689

我的控制器的管理员控制器

<?php

class Admin_Controller extends MY_Controller{

function __construct(){
    parent::__construct();

    $this->load->helper('form');
    $this->load->library('form_validation');
    $this->load->library('session');

    $this->load->model('user_m');
    $this->load->model('roomtype_m');   
    $this->load->model('room_m');
    $this->load->model('roomcapacity_m');


    //login check
    $exception_uris = array(
        'admin/user/login',
        'admin/user/logout'
    );

    if(in_array(uri_string(), $exception_uris) == FALSE) {
        if($this->user_m->loggedin() == FALSE) {
            redirect('admin/user/login');
        }
    }
}}?>

我的登录页面/用户/登录

控制器

<?php

class User extends Admin_Controller {

function __construct(){
    parent::__construct();

}

public function index() {
    $this->data['users'] = $this->user_m->get();
    $this->data['subview'] = 'admin/user/index';
    $this->load->view('admin/_layout_main',$this->data);
}


public function login() {
    $dashboard = 'l0gadmin/dashboard';
    $this->user_m->loggedin() == FALSE || redirect($dashboard);

    $rules = $this->user_m->rules;
    $this->form_validation->set_rules($rules);
    if($this->form_validation->run() == TRUE){
        if($this->user_m->login() == TRUE){
            redirect($dashboard);
        }else{
            $this->session->set_flashdata('error','That email/password combination does not exist ');
            redirect('admin/user/login','refresh');
        }
    }
    $this->data['subview'] = 'admin/user/login';
    $this->load->view('admin/_layout_modal',$this->data);
}

public function logout(){
    $this->user_m->logout();
    redirect('admin/user/login');
}}?>

模型

<?php

class User_m extends MY_Model {



function __construct(){
    parent::__construct();
}


public function login(){
    $user = $this->get_by(array(
        'email'=> $this->input->post('email'),
        'password' => $this->hash($this->input->post('password')),
        ),TRUE);

    if(count($user)){
        $data = array(
            'name'=> $user->name,
            'email' => $user->email,
            'id'=> $user->id,
            'loggedin'=>TRUE,
            );
        $this->session->set_userdata($data);
    }
}

public function logout(){
    $this->session->sess_destroy();
}
public function loggedin(){
    return (bool) $this->session->userdata('loggedin');
}


public function hash($string){
    return hash('sha512', $string . config_item('encryption_key'));
}}?>

查看登录页面

    <div class="row">
    <div class="col-md-3">
        <h2>Admin Login</h2>

        <?php 

                echo validation_errors();
                echo form_open('');
                $email = array(

                    'name'          => 'email',
                    'class'         => 'form-control',
                    'placeholder'   => 'Email Address'

                );
                echo form_input($email) . "<br/>";

                $password = array(
                    'name'        => 'password',
                    'class'       => 'form-control',
                    'placeholder' => 'Password'
                );
                echo form_password($password) . "<br/>";

                $submit = array(
                    'name'  => 'submit',
                    'class' => 'form-control btn btn-primary',
                    'value' => 'Login'
                );
                echo form_submit($submit);

                echo form_close();

        ?>


    </div>
</div>

我搜索这个问题可以是开放和封闭的标签。我尝试添加所有页面,但它仍然显示错误。为什么?。

共有2个答案

诸葛苏燕
2023-03-14

这很可能是因为发生了错误或警告,这是不可见的,因为您当前的display_errors设置。我建议打开它,以修复这些错误/警告。

应俊爽
2023-03-14

阅读错误消息

输出从/home/user/public_html/ngapali/test/application/controllers/admin/user开始。菲律宾:1

/user。php文件第1行有一些空白字符

之前检查任何空白

删除它,刷新错误将消失。

还有一个建议,省略结束php标签

在这里阅读更多:为什么要省略关闭标签?

 类似资料:
  • 嗨,目前我还在学习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.

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

  • 我尝试使用这个简单的代码登录,但在我点击登录按钮后,else选项“无效用户名或密码!”总是出现,即使用户名和密码是匹配的 控制器:

  • 问题内容: 我遇到这个错误。而且我不知道如何处理。 无法修改标头信息-已发送的标头(输出从/home/ben213/public_html/wp- includes/pluggable.php上的/home/ben213/public_html/wp- content/themes/Bendaggers/functions.php:9开始) 934行 我的Functions.php文件第9行是:

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