در اکتیورکورد
من یه تابع نوشتم که فیلد ها رو چک میکنه و بعد میریزه تو متغیر خودشون
بعد هم اگر مشکلی نباشه متد save صدا میکنم تا توی دیتا بیس ذخیره کنه
ولی فیلدها تو متد insert که توسط متد save صدا می شه خالی هستن
متد insert
متد save
تو بخش ویو هم به این شکل صداشون می کنم
من یه تابع نوشتم که فیلد ها رو چک میکنه و بعد میریزه تو متغیر خودشون
بعد هم اگر مشکلی نباشه متد save صدا میکنم تا توی دیتا بیس ذخیره کنه
ولی فیلدها تو متد insert که توسط متد save صدا می شه خالی هستن
public function insertdb(){ if(isset($_POST['submit'])){ $news = new news(); // print_r($_POST); $error = array(); if(!empty($_POST['title'])){ $news->title = $_POST['title']; }else{ $error[] = 'لطفا عنوان خبر را وارد کنید'; } if(!empty($_POST['cat_id'])){ echo $news->cat_id = $_POST['cat_id']; }else{ $error[] = 'لطفا دسته بندی خبر را انتخاب کنید'; } if(!empty($_POST['status'])){ $news->status = $_POST['status']; }else{ $error[] = 'لطفا وضعیت نمایش را انتخاب کنید'; } if(isset($_FILES['picture'])&& !empty ($_FILES['picture']['name'])){ $news->picture = $_FILES['picture']['name']; }else{ $error[] = 'لطفاعکس خبر را انتخاب کنید'; } if(!empty($_POST['description'])){ $news->description = $_POST['description']; }else{ $error[] = 'لطفا متن خبر را انتخاب کنید'; } if(!empty($_POST['public_date'])){ $news->public_date = $_POST['public_date']; }else{ $news->public_date = NULL; } if(!empty($_POST['expire_date'])){ $news->expire_date = $_POST['expire_date']; }else{ $news->expire_date = NULL; } if(!empty($_POST['keywords'])){ $news->keywords = $_POST['keywords']; }else{ $news->keywords = NULL; } if(empty($error)){ $news->create_date = NULL; $news->update_date = NULL; $news->owner_id = 1; $news->visit = 1; $news->like = 1; $news->dislike = 1; //print_r($news); if($this->save()){ echo "خبر با موفقیت درج شد"; } else{ echo mysql_error(); } }else{ foreach($error as $value){ echo $value.'<br>'; } } }
متد insert
private function insert(){ print_r($this->fields); $fields = array_map('Database::Escape',$this->fields); $resault = Database::Query(" INSERT INTO `news` VALUES (NULL,'{$fields['cat_id']}','{$fields['owner_id']}','{$fields['title']}','{$fields['description']}','{$fields['keywords']}','{$fields['visit']}','{$fields['like']}','{$fields['dislike']}','{$fields['picture']}','{$fields['create_date']}','{$fields['public_date']}','{$fields['update_date']}','{$fields['expire_date']}',{$fields['status']}) "); $this->isNew = false; $this->id = Database::InsertId(); return $resault; }
متد save
public function save(){ if($this->isNew){ $this->insert(); } else{ $this->update(); } }
تو بخش ویو هم به این شکل صداشون می کنم
$news = new news(); print_r($news); $news->insertdb();