2013-11-21 8 views
0

Я пытаюсь реализовать функцию post и хочу выбрать сообщение и изображение из представления php. Я получаю сообщение об ошибке Message: Undefined index: image, хотя я определил его в своем представлении. это мое мнениеСообщение: Undefined index: image

<?php echo form_open_multipart('search/post_func');?> 

<div id="your_post"> 
<div id="post_image"> 
<img id ="post_img" src="<?php echo $this->config->item('base_url'); ?><?php echo '/application/css/'. $img ?>"/> 
</div> 
<textarea name="post" rows="5" cols="30" placeholder="Share an update..." id="post_text" rows="2" value=""></textarea> 
<div class="liveurl-loader"></div> 
<div id="clip"> 
<input name="image" type="file" id="attach" /> <!--THIS IS IMAGE--> 
</div> 
<div class="liveurl" id="edited"> 
      <div class="close" title="Entfernen"></div> 
      <div class="inner"> 

       <div class="details"> 
       <div class="image" id="img_dis"> </div> 
         <div class="title" id="title"> </div> 
         <div class="description" id="desc"> </div> 

        <div class="video"></div> 
       </div> 

      </div> 
    </div> 





<div id="wraper_thin"> 
<select name="share_with" class="select_this" > 
<option value="public">Share with: public</option> 
<option value="connections">Share with: connections</option> 
</select> 
<button id="share" type="submit">Share</button> 
</div> 
</div> 


</form> 

это моя функция контроллера, где проблема возникает

function post_func() 
{ 
session_start(); 
echo $post_message=$_POST['post']; 
echo $share_with=$_POST['share_with']; 
echo $image=$_POST['image'];//ERROR IS HERE 
if($image==null){ 
    echo "<br/>no image<br/>"; 
} 
else{ 
    //////////////////////////////////////////////////////////////////////////////////////////////// 

     $config['upload_path'] = './application/css'; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = '100'; 
     $config['max_width'] = '1024'; 
     $config['max_height'] = '768'; 

     $file = $_FILES['image']['image']; 
     $this->load->library('upload', $config); 


     $this->upload->initialize($config); 



     if (! $this->upload->do_upload()) 
     { 
      $error = array('error' => $this->upload->display_errors()); 

      echo "<br/>"; 
      echo $this->upload->display_errors(); 
      echo "<br/> image error<br/>"; 
     } 
     else 
     { 

      echo "<br/> reached <br/>"; 
      session_start(); 
      $this->membership_model->insert_images($this->upload->data(),$email); 
      $data = array('upload_data' => $this->upload->data()); 

      echo "<br/ problem<br/>"; 
     } 




    /////////////////////////////////////////////////////////////////////////////////////////////// 
} 
$public; 
if($share_with=="public"){ 
    echo "1"; 
    $public=true; 
}else{ 
    echo "0"; 
    $public=false; 
}echo "-----------------------------<br/>"; 
echo $user=$this->session->userdata('user_identification'); 
$data = array 
     (
      'userid'=> $user, 
      'public' => $public, 
      'message' => $post_message, 
      'picname' => "None" 
     ); 
$this->load->model('membership_model'); 
$this->membership_model->add_message($data); 
echo "</br>"; 
echo $user=$this->session->userdata('user_identification'); 
} 

Я смущен о том, почему происходит ошибка. Пожалуйста помогите.

+0

Загрузка файлов происходит в '$ _POST'. Его можно найти в '$ _FILES'. [RTM по загрузке файлов] (http://php.net/manual/en/features.file-upload.php). –

ответ

1

Это будет $_FILES

$image = $_FILES['image']; 
print_r($image); 

Он возвращает массив, так что вам нужно напечатать it.All файлы, изображения, которые вы загружаете через file типа все они будут handeled по $_FILES и Makesure что ваша форма будет multipart

+0

'$ _FILES ['image']' - массив, вы будете эхом 'Array' –

+0

Он дает ошибку' Message: Undefined variable: _FILE', когда я использовал '$ _FILE ['image']' Я заменяю его ' $ _FILES ['image'] 'тогда он дает ошибку' Message: Array to string conversion' – SSMA

+0

Это '$ _FILES' на самом деле,' not $ _FILE' –