گرفتن مقدار در CodeIgniter
سلام
وقت بخیر دوستان عزیز
من یک مشکل دارم !!! در رابطه با گرفتن مقدار از لینک !
برای مثال به لینک زیر دقت کنید
اینجا مقدار 16 هست
حالا چطور این مقدار را دریافت کنم ؟؟
با get نمیشه !
اما اینجوری به صورت گت میشه
به اینصورت نمی خوام استفاده کنم
اگر میشه راهنمایی کنید یا در چه رابطه ای باید جستجو کنم ؟
پاسخ : گرفتن مقدار در CodeIgniter
در CodeIgniter ساختار mvc هست . یعنی اگر لینک به صورتی که اول گفتید باشد یعنی یک تابع با نام item فراخوانی میشود .
ولی امکان گرفتن با گت هم هست به این شکل :
کد PHP:
$this->input->get('item', TRUE);
داکیومنت :
https://ellislab.com/codeigniter/use...ies/input.html
پاسخ : گرفتن مقدار در CodeIgniter
دوست عزیز مقادیر رو به سه صورت get ,post,request می تونید بگیرید.
اینو می تونید کل آدرس رو بگیرید و اسپلیت کنید با "/" مقدار رو بگیرید .
یا هم با استغاده از مقادیر جهانی مثل $_SERVER
کد PHP:
<?php
echo $_SERVER['PHP_SELF'];
echo "<br/>";
echo $_SERVER['REQUEST_URI'];
echo "<br/>";
echo $_SERVER['SCRIPT_NAME'];
?>
PHP: $_SERVER - Manual
پاسخ : گرفتن مقدار در CodeIgniter
کد PHP:
$item = $this->uri->segment(2);
پاسخ : گرفتن مقدار در CodeIgniter
ممنون دوستان
ولی این مواردی که گفتید به کارم نخورد
دوست عزیز جناب us12 درست گفته به صورت فاکشن وار هست urlهای CI
اما در یک اسکریپت دیدم این روش رو پیاده کرده بودن با CI گفتم شاید دوستان بتونند کمک کنند
اگر کسی بازم اطلاعی داره ارائه بدم
ممنون
پاسخ : گرفتن مقدار در CodeIgniter
به نظرم درک شما از codeigniter صحیح نیست چون در ci چیزی به صورت 127.0.0.1/item/16 به صورت پیش فرض نداریم (مگر آن که در route آن را تعیین کرده باشیم)
در ci چون به صورت mvc می باشد، url ها به صورت controller و method هستند. url که شما نوشتید درباره نیاز شما درست نیست
در ci آدرس 127.0.0.1/item/16 به این معنی است که از controller ای به نام item متد 16 فراخوانی شود و یا اگر در route تعریف شده باشد که مثلا item/(:any) یک مسیر دیگری دارد، باید مطابق آن بررسی شود
برای نیاز شما آدرس به صورت زیر می شود: mycontroller/mymethod/16 که در این حالت با استفاده از $item = $this->uri->segment(3); می توان 16 را خواند و در متغیر item ذخیره کرد.