رفتن به مطلب

فراخوانی تابع در کنترلر از طریق view در فریم ورک کدایگنایتر


پست های پیشنهاد شده

سلام و خسته نباشید

لطفا این کد رو ببینید کد به کمک کدایگنایتر نوشته شده


// Home.php (Controller directory)
class Home extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('Home_model');
}
public function index() {
$this->load->view('home');
}
public function getUser($email, $pass) {
$userInfo = $this->Home_model->getUser($email, $pass);
return $userInfo;
}
}


// Home_model.php (Model directory)
class Home_model extends CI_Model {
public function __construct() {
parent::__construct();
$this->load->database();
}
public function getUser($email, $pass) {
$query = $this->db->select('*')->from('users')->where('email', $email)->where('pass', md5($pass))->get();
$res = $query->result_array();
foreach ($res as $row) {
$data['name'] = $row['name'];
$data['family'] = $row['family'];
}
return $data;
}
}


// home.php (View directory)
$userInfo = getUser($this->input->post('email'), $this->input->post('pass'));
echo "Hi " . $userInfo['name'] . " " . $userInfo['family'];

توابع فایل های کنترلر و مدل رو 90% میدونم درسته، فقط نمیدونم چطوری از طریق View تابع توی کنترلر رو صدا بزنم

کد فایل home.php رو برای درک بهتر نوشتم.

قرار ایمیل و پسورد رو از طریق post بگیره و به تابعی که در کنترلر وجود داره بفرسته و از طریق مدل اطلاعات کاربر رو بگیره و به View برگرده و نمایش داده بشه

لطفا راهنمایی کنید که چکار باید بکنم؟

ممنون

ویرایش شده توسط reza_t
لینک به ارسال

سلام؛ چه عجب یه نفر یه سوال فنی پرسید :)

شما نیازی ندارید که توی ویو تابعی فراخوانی کنید، توی کنترلر تابع رو فراخوانی کنید و به View بفرستید. مثلاً:


class Something extends CI_Controller {

public function index() {
$data['users'] = $this->Sth_model->get_users();
$this->load->view( 'Sth_page', $data );
}

}

و در فایل View:


var_dump( $users );

البته اینا برای مثال بود. شما خودتون میتونید با کدهای خودتون هماهنگ کنید.

برای دریافت ورودی هم از $this->input استفاده کنید.

پیشنهاد می‌کنم که حتماً قسمت Tutorial کدایگنایتر رو مطالعه کنید.

موفق باشید.

لینک به ارسال

ممنون ولی من مشکلم با ارسال پارامترها از طریق View هست

چطوری پارامترهارو بفرستم؟

لینک به ارسال

شما پارامترها رو بریز توی یه آرایه و به پارامتر دوم $this->load->view تحویل بده. توی View میتونی از کلیدهایی که برای Array تعریف کردی به عنوان متغیر استفاده کنید.

موفق باشید.

لینک به ارسال

ببخشید ولی فکر کنم درست متوجه نشدید

من میخوام از View به کنترلر اطلاعات ارسال کنم، نه از کنترلر به View

لینک به ارسال

آهان، خب شما اول یه فرم ایجاد کن توی ویو و بعد از استفاده از $this->input->post در کنترلرت اطلاعات رو بدست بیار.

جزییات بیشتر:


http://www.codeigniter.com/user_guide/tutorial/create_news_items.html

موفق باشید.

لینک به ارسال
  • 5 سال بعد...

سلام در ادرس دهی codegniter اگر ادرس به صورت 

<a href='a.com/search/product/mobail/sadeh>داده شود سایت درست کار میکند اما اگر به صورت 

<a href='a.com/search/product/موبایل/ساده>داده شود سایت درست کار نمیکند.یعنی مسخاهم پارامتر هایی که به تابع ارسال میکنم به صورت فارسی باشد.

لینک به ارسال

سلام

به انجمن خوش اومدین دوست عزیز

اینجا رو بررسی کنین
https://stackoverflow.com/questions/48400427/how-to-pass-unicode-character-in-url-codeigniter/48713138

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...