我昨天整天都收到警告错误,无法将其取消。不知道发生了什么。它抱怨在第1行的property_model.php上执行重定向之前发送了一些输出。我去那里检查了一切,但没有运气。我还检查了空格。我将粘贴错误和代码。
遇到PHP错误
严重性:警告
消息:无法修改标头信息 - 已发送的标头 (输出始于 /home/sddhd/public_html/rsw/application/models/property_model.php:1)
文件名:helpers / url_helper.php
行号:542
现在上面显示的模型代码是:
<? class Property_model extends CI_Model {
function __construct()
{
parent::__construct();
}
function insert_property($propertyID)
{
$this->property_id = $propertyID;
$this->type = $_POST['property_type'];
$this->city = $_POST['property_city'];
$this->address = $_POST['property_address'];
$this->description = $_POST['property_description'];
$this->owner = $_POST['property_owner'];
$this->date_added = date("Y-m-d");
$this->price = $_POST['property_price'];
$this->offer_type = $_POST['property_offer'];
$this->contact = $_POST['property_contact'];
$this->db->insert('property', $this);
}
function insert_image_details($id, $url, $extension)
{
$current->property_id = $id;
$current->extension = $extension;
$current->url = $url;
$this->db->insert('photos', $current);
}
}
?>
以及重定向调用的使用(包括调用模型的整个控制器调用):
<?php
class Property extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->helper('form');
$this->load->helper('url');
$this->load->model('property_model', 'propertymodel');
$this->load->database();
}
public function index() {
$this->load->view('home');
}
public function new_property()
{
$this->load->view('new_property', array('error' => '' ));
}
public function create_property()
{
//Pass the posted data to model for insertion
$propertyID = uniqid();
$this->propertymodel->insert_property($propertyID);
$this->do_upload($propertyID);
redirect('/home');
}
public function do_upload($propertyId)
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '1000';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('create_property', $error);
}
else
{
$data = array('upload_data' => $this->upload->data());
//array to access all the file uploaded attributes
$image_data = $this->upload->data();
//parameters to be passed to model:
$imgUrl = "../.".$config['upload_path'].$image_data['file_name'];
//$imgTitle = $image_data['file_name'];
$fileExtension = $image_data['file_ext'];
$this->propertymodel->insert_image_details($propertyId, $imgUrl, $fileExtension);
}
}//end of function
}
?>
非常感谢任何帮助
答案 0 :(得分:2)
你在属性控制器中有错误。 在方法create_property
中替换这两行$url= base_url().'home';
redirect($url);
与
redirect('/home');
答案 1 :(得分:2)
我遇到了同样的问题。什么都没有帮助。然后我决定创建一个完整的新文件,并将导致错误的文件中的内容复制到新文件中。这有效!显然,原始文件在位置0处有一个隐藏字节。
答案 2 :(得分:0)
你启用了error_reporting吗?该模型可能会引发您不会在此处看到的错误。此错误会导致已发送的标头。
顺便说一下,方法$current
中insert_image_details
的来源是什么?那可能会引发错误。
答案 3 :(得分:0)
可能会在加载实际页面之前发送一些警告。请使用文档根目录的index.php中的以下函数打开错误报告。
ini_set('display_errors', 'On');
error_reporting(E_ALL);
答案 4 :(得分:0)
在Stackoverflow中找到另一个人发布的替代解决方案。
//Alternate Code for solve this issue
$url = 'site/function1';
echo'
<script>
window.location.href = "'.base_url().'index.php?/'.$url.'";
</script>
';
这非常有效!希望使用它没有任何缺点!谢谢大家的支持。