2012-03-24 14 views
0

に新しいインデックスを追加します。未定義のインデックスエラー...私は、このエラーで、ほぼ2日間を過ごしてきた既存のアレイ

if ($_FILES['userfile']['error'] !== 4) { 

       $this -> load -> library('upload'); 

       $settings = array('upload_path' => '././images/yeniler', 'allowed_types' => 'jpg|jpeg'); 

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

       $dosya = $this -> upload -> do_upload(); 
       $upload_data = $this -> upload -> data('userfile'); 
       $formverileri[]=""; 
       if ($dosya) { 
       $dosyaadi = $upload_data['file_name']; 

       } 

      } 
      $formverileri['yeniler_resim'] =$dosyaadi; 
      $formverileri = array('yeniler_baslik' => $this -> input -> post('yeniler_baslik'), 'yeniler_detay' => $this -> input -> post('yeniler_detay')); 

      if ($guncelle = $this -> yeniler_model -> updateData($formverileri)) { 
       var_dump($formverileri); 
       var_dump($upload_data); 
       die; 
       echo("başarılı"); 
       $this -> session -> set_flashdata("sonuc", "oldu"); 
       redirect(base_url() . "admin_yeniler/duzenle/" . $this -> input -> post('yeniler_id')); 

      } else { 
       echo("olmadı.."); 
      } 

問題は、私は私は正確に正しいインデックスと値を参照して、アレイがしますprint_rでseperatlyですチェックインすると、私は... $formverileri['yeniler_resim']$upload_data['file_name']の値をASSINGすることはできません。しかし、私は更新配列に$formverileri['yeniler_resim']を追加できません...

編集:ファイルがアップロードされている場合のみ$ upload_data ['file_name']を$ formverileri ['yeniler_resim']にしたいと思います。私は(の$ this - > yeniler_model->にupdateData($ formverileri)である)私の更新機能を複製することができますが、それは良い練習ではありません。なぜ私は特定の条件で既存の配列に新しいインデックスを追加できないのですか?

答えて

1

あなたはその変数の古い値uが定義された新しいaraayに置き換えられます$formverileri = array(..のように新しい配列を定義する場合。

は私がアップロードが行われているかどうかをチェックする必要があるので、それを行うことはできません

if ($dosya) { 
      $dosyaadi = $upload_data['file_name']; 
      $formverileri['yeniler_resim'] = $dosyaadi; 
      } 

     } 

     $formverileri['yeniler_baslik'] = $this -> input -> post('yeniler_baslik'); 
     $formverileri['yeniler_detay'] = $this -> input -> post('yeniler_detay'); 
+0

このコードを試してみてください。私がしようとしていることは:画像がピックアップされアップロードされた場合は、アップロードデータをアップロードして設定します。そして、file_nameデータを与えて、dbのyeniler_resimフィールドを更新してください。 – scaryguy

+0

私が言ったことを試してみてください。うまくいかない場合は、もう一度見てください – safarov

+0

あなたの更新safarovをありがとう。しかし、$ dosyaadiが設定されていないとどうなりますか?ファイルがアップロードされていない限り、私はyeniler_resimフィールドを更新したくありません。 (ISSET($ dosyaadi)&&はstrlen($ dosyaadi)){//ん更新}他{//はアップロードを行ういけない} ' – scaryguy

関連する問題