PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : گرفتن مقدار در CodeIgniter



6801
January 27th, 2015, 20:40
سلام


وقت بخیر دوستان عزیز
من یک مشکل دارم !!! در رابطه با گرفتن مقدار از لینک !
برای مثال به لینک زیر دقت کنید




127.0.0.1/item/16



اینجا مقدار 16 هست
حالا چطور این مقدار را دریافت کنم ؟؟
با get نمیشه !


اما اینجوری به صورت گت میشه


127.0.0.1/item?id=16



به اینصورت نمی خوام استفاده کنم


اگر میشه راهنمایی کنید یا در چه رابطه ای باید جستجو کنم ؟

us12
January 27th, 2015, 22:08
در CodeIgniter ساختار mvc هست . یعنی اگر لینک به صورتی که اول گفتید باشد یعنی یک تابع با نام item فراخوانی میشود .

ولی امکان گرفتن با گت هم هست به این شکل :


$this->input->get('item', TRUE);

داکیومنت :
https://ellislab.com/codeigniter/user-guide/libraries/input.html

ms313
January 27th, 2015, 22:12
دوست عزیز مقادیر رو به سه صورت get ,post,request می تونید بگیرید.
اینو می تونید کل آدرس رو بگیرید و اسپلیت کنید با "/" مقدار رو بگیرید .
یا هم با استغاده از مقادیر جهانی مثل $_SERVER


<?php


echo $_SERVER['PHP_SELF'];
echo "<br/>";
echo $_SERVER['REQUEST_URI'];
echo "<br/>";
echo $_SERVER['SCRIPT_NAME'];

?>

PHP: $_SERVER - Manual (http://php.net/manual/en/reserved.variables.server.php)

Metalik
January 28th, 2015, 08:45
$item = $this->uri->segment(2);

6801
January 28th, 2015, 16:35
ممنون دوستان
ولی این مواردی که گفتید به کارم نخورد
دوست عزیز جناب us12 درست گفته به صورت فاکشن وار هست urlهای CI
اما در یک اسکریپت دیدم این روش رو پیاده کرده بودن با CI گفتم شاید دوستان بتونند کمک کنند

اگر کسی بازم اطلاعی داره ارائه بدم
ممنون

Metalik
January 30th, 2015, 20:03
به نظرم درک شما از 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 ذخیره کرد.