سؤال

يا شباب، أحاول إنشاء ملفات تعريف المستخدمين لموقعي حيث عنوان URL شيء مثل

mysite.com/user/chrissalij.

حاليا تحكم بلدي يبدو وكأنه كذلك:

<?php   
class User extends Controller {
   function user(){
      parent::Controller();
   }

   function index(){
      $data['username'] =  $this->uri->segment(2);

      if($data['username'] == FALSE) {
         /*load default profile page*/
      } else {
         /*access the database and get info for $data['username']*/
         /*Load profile page with said info*/
      }//End of Else
   }//End of function
}//End of Class
?>

في الوقت الحالي، أحصل على خطأ 404 كلما ذهبت إليه؛

mysite.com/user/chrissalij.

أعتقد أن هذا لأنه يتوقع أن تكون هناك طريقة تسمى chrissalij. على الرغم من أنني متأكد من أنني متأكد من أنني إساءة استخدام هذا $-> URI-> الجزء ()؛ الأمر أيضا: P

سيكون موضع تقدير أي مساعدة. شكرا

هل كانت مفيدة؟

المحلول

لها لأن وحدة التحكم تبحث عن وظيفة تسمى chrissalij.

الطرق القليلة لحل هذا:

1) التغيير

function index(){ 
$data['username'] =  $this->uri->segment(2);

أن تكون

function index($username){ 
$data['username'] =  $username; 

واستخدام عنوان URL من MySite.com/user/index/chrissalij

2) إذا كنت لا تحب فكرة أن الفهرس في عنوان URL، فيمكنك تغيير الوظيفة المزروعة بالملف الشخصي أو ما شابه، أو النظر في استخدام التوجيه

واستخدام شيء على غرار الخطوط

$route['user/(:any)'] = "user/index/$1";

لتخصيص عنوان URL الخاص ب MySite.com/user/chrissalij

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top