2013-10-19 6 views
0

에 의해 전송 헤더를 나는이 알려진 문제가 있습니다 : 그래서, 남자가 ob_start();를 사용하도록 제안 여기에 유래의 게시물에서메시지 : 헤더 정보를 수정할 수 없습니다 - 이미

<?php 
ob_start(); 
if (! defined('BASEPATH')) exit('No direct script access allowed'); 
class AddScore extends CI_Controller 
{ 
    //Constructor 
     function __construct() { 
      parent::__construct(); 
      $this->load->helper ('url'); 
      $this->load->helper ('form'); 

     } 


     function AddToDatabase() 
     { 
      $userName=$_GET['userName']; 
      $userID=$_GET['userID']; 
      $score=$_GET['score']; 
      $this->load->model('module/ProductsModel'); 
      $this->UserScoresModule->AddUserScore($userID,$userName,$score); 
      // $data=array('ID' => $_GET['ID'], 'Name' => $_GET['Name']); 
      // $this->load->view ('SupplierAllProductsView',$data); 
     } 

} 

: 이것은 내 컨트롤러

입니다 내 코드에 추가했지만 문제가 남아 있습니다.

A PHP Error was encountered 

Severity: Warning 

Message: Cannot modify header information - headers already sent by (output started at /hermes/bosweb25a/b500/ipg.spaghetticodestudioc/TDDD27/application/controllers/AddScore.php:1) 

Filename: core/Common.php 

Line Number: 438 

내가 누락 된 아이디어가 있습니까?

+1

'ob_start'를 사용하면 문제를 해결하는 대신 덮어 쓰게됩니다. 대신, 파일의 시작 부분에있는 "AddScore.php"를보십시오.' halfer

답변

1

적어도 게시 한 코드에서 <?php 앞에 공백이 있습니다.

서버가 공백을 HTML 콘텐츠 (예 : 출력)로 보내고 있습니다. 헤더를 전송하기 전에 헤더를 자동으로 추가하므로 "헤더가 이미 전송되었습니다."

관련 문제