10/10/2018, 00:23

làm cách nào truyền tham số cho hàm index ở ci

tôi đang gặp rắc rồi là làm cách nào có thể truyền các tham số qua hàm index
vd tôi có controller là blog và hàm chính là index bây giờ tôi muốn truyền giá trị 123 cho hàm index thì làm sao
nếu tôi gõ localhost/blog/123 thì nó báo là ko thể tìm thấy hàm 123 ? vậy có cách nào ko
cảm ơn nha
zoejoe viết 02:26 ngày 10/10/2018
Éc, dùng thư viện uri:
$var = $this->uri->segment(4);
kiem_bo viết 02:24 ngày 10/10/2018
tôi đã nói là nếu là gõ theo đường dẫn là http://localhost/blog/bien thì tự nhiên nó hiểu bien là hàm. Và nó báo lỗi 404 còn cái kia thì tôi biết. Có cách nào nữa ko ?
s.code viết 02:27 ngày 10/10/2018
Không nên dùng kiểu Map controllers của CI. Mà hãy dùng chuẩn segment từ đầu tới cuối. Kết hợp với cách viết HMVC (module) để dễ phân luồng sử lý.
kiem_bo viết 02:38 ngày 10/10/2018
bạn có thể nói rỏ hơn ko ? tôi ko hiểu cho lắm
conan1212 viết 02:40 ngày 10/10/2018
Được gửi bởi kiem_bo
tôi đang gặp rắc rồi là làm cách nào có thể truyền các tham số qua hàm index
vd tôi có controller là blog và hàm chính là index bây giờ tôi muốn truyền giá trị 123 cho hàm index thì làm sao
nếu tôi gõ localhost/blog/123 thì nó báo là ko thể tìm thấy hàm 123 ? vậy có cách nào ko
cảm ơn nha
Dùng Router của CI để rewrite lại cái URL, chi tiết vui lòng xem document của CI.
kiem_bo viết 02:25 ngày 10/10/2018
rồi bây giờ gặp vấn đề là
http://localhost/ci/blog/function
bây giờ làm cách nào để cho nó biết function sẽ là hàm chứ ko phải tham số.
code
$route['blog/(:any)']="blog/index/$1";
Vậy có cách nào kiểm tra function sẽ làm hàm ko nếu là hàm thì chạy hàm đó ko còn thì sử lý chuyện khác.
conan1212 viết 02:37 ngày 10/10/2018
Được gửi bởi kiem_bo
rồi bây giờ gặp vấn đề là
http://localhost/ci/blog/function
bây giờ làm cách nào để cho nó biết function sẽ là hàm chứ ko phải tham số.
code
$route['blog/(:any)']="blog/index/$1";
Vậy có cách nào kiểm tra function sẽ làm hàm ko nếu là hàm thì chạy hàm đó ko còn thì sử lý chuyện khác.
Sao không đọc document cẩn thận gì hết nhỉ? CI nó có cho sử dụng Regular Expression trong router cơ mà. Nếu chưa biết Regular Expression là gì vui lòng coi lại.
kiem_bo viết 02:32 ngày 10/10/2018
tôi vẫn chưa có giải pháp nào hoàn thiện cả. Đọc RE vẫn ko làm được
trường hợip tôi là khi gõ
http://localhost/blog/damvinhhung
thì sẽ chạy ra blog của đàm vĩnh hưng
http://localhost/blog/damvinhhung/1
thì sẽ đọc bài viết có id là 1
trường hợp gõ
http://localhost/blog/listblog
thì sẽ chạy mục quản blog
http://localhost/blog/listblog/1
sẽ chạy các blog có id_singer là 1
Vậy đó rắc rối của tôi là vậy ?

[=========> Bổ sung bài viết <=========]

cho nên tôi muốn làm cách nào có thể kiểm tra nó có phải là hàm ko nếu là hàm thì chạy ko thì làm cái khác
Bài liên quan
0