در این CideIginter چطوری میشه فهمید که فرم با متد POST ارسال شده؟!
در این CideIginter چطوری میشه فهمید که فرم با متد POST ارسال شده؟!
تاجایی که میدونم بصورت پیش فرض با post ارسال میشه ، مگر اینکه شما یه آرایه به این شکل تعریف کنید و method رو get بدین .
$attributes = array('method'=>'GET','class' => 'email', 'id' => 'myform');
echo form_open('email/send', $attributes);
چطوری میشه فهمید که فرم ارسال شده یا نه؟
اگه ارسال نشده باشه مقدار false میگیره
if($this->input->post('xxx')){
echo 'با پست ارسال شده';
}
}
اگر منظورتون این هست که جای x x x باید نام یکی از فیلدهای فرم را بنویسیم، فکر نمی کنم این روش، روش خوبی باشه.
چون ممکنه به هر دلیلی این فیلد از داخل فرم حذف شده باشه! (دستکاری صفحه توسط کاربر)
در حالت عادی برای اینکه نوع درخواست را متوجه شویم از تابع SERVER استفاده می کنیم.
$_SERVER['REQUEST_METHOD']
و گر بخوایم بفهمیم که نوع درخواست POST بوده به شکل زیر این کار را انجام می دهیم.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
///
}
در CI تابعی از پیش تعریف شده ای برای این کار هست؟
اینو امتحان کنید.
$this->input->server('REQUEST_METHOD')