09/10/2018, 23:02

cho hỏi cách làm việc cua language?

em thấy các diễn đàn như phpbb hay ipb ... đều có chức năng chuyển ngôn ngữ (language), hiện nay em đang muốn viết 1 trang có thể cho người dùng chọn language , nhưng vấn đề ở đây là làm sao khi mình chuyển ngôn ngữ xong (vd: việt nam=> english) thì khi làm việc trong các trang tiếp theo ngôn ngữ được chọn trước đó sẽ vẫn được thể hiện.
Ai biết vấn đề này giải quyết ra sao không?
Xin cho kinh nghiệm.
newbiehva viết 01:15 ngày 10/10/2018
dùng session ( asp ) thì tại sao ko được hả bạn ( or cookies ) !
hungxalo viết 01:17 ngày 10/10/2018
chưa rõ lắm
bạn có thể giải thích rõ hơn được không?
kid08 viết 01:16 ngày 10/10/2018
nghĩa là u lưu 2 ngôn ngữ vào 2 file khác nhau rồi khi chuyển thì dùng session để chuyển
hungxalo viết 01:03 ngày 10/10/2018
dùng session thế nào
mình đã thử nhưng mà khi chuyển sang phần khác thì nó chẳng có hiệu lực
bạn có thể cho mình xin code được ko?
mình cảm ơn nhìu nhìu
newbiehva viết 01:06 ngày 10/10/2018
sao mình biết trang của bạn như thế nào mà code hộ bạn được , mà khi đã lập trình web thì phải biết đến session chứ ( hay là dùng cookies ) , !
amida viết 01:10 ngày 10/10/2018
Sao kô dùng mảng? Mình kô giỏi php, nói sai thì mong sửa. Thí dụ bạn cho các title vào mảng hết. Ví dụ bạn để text Welcome to my site ở header thì thay vì viết ra, bạn cho vào 1 mảng $lang["Welcome"] . Sau đó tạo 1 file language.php và khai báo thôi:

PHP Code:
<?
 $lang***91;"Welcome"***93; = "Bonjour"; // bỏ nó vô language/french.php
 $lang***91;"Hello"***93; = "Chào"; //bỏ nó vô language/vietnamese.php
?>
Sau đó như các bạn trên nói, dùng session để chuyển thôi
NsT viết 01:15 ngày 10/10/2018
hì các bạn chỉ rõ cho người ta đi nói chung chung quá mới tìm hiểu thì chưa nắm được cái khái niệm đâu.

Thế này nhé, giờ bạn có 3 trang: index.php, vn.php, en.php

Nội dung trang index.php như sau:
PHP Code:
<?
session_start();

if(isset($_GET***91;'lng'***93;))
{
 $_SESSION***91;'lng'***93; = $_GET***91;'lng'***93;;
 header("Location:./?");
}
if(!$_SESSION***91;'lng'***93;)
 $_SESSION***91;'lng'***93; = 'vn'; // Default language

require $_SESSION***91;'lng'***93;.".php";

echo "<a href=./?lng=vn>Vietnamese</a> | <a href=./?lng=en>English</a>";

echo $lang***91;'hello'***93;;
?>
Còn nội dung trang vn.php là
PHP Code:
<?
$lang***91;'hello'***93; = "Xin chào, đây là file tiếng Việt";
?>
Nội dung trang en.php là:
PHP Code:
<?
$lang***91;'hello'***93; = "Hello, this is an English page.";
?>
Bạn có thể cho bao nhiêu $lang['variable'] vào 2 file vn.php & en.php cũng được, miễn là tên các mảng phải giống nhau, chỉ khác value 1 cái là tiếng Anh, 1 cái là VN.

Vậy thôi bạn làm thử đi.
hungxalo viết 01:15 ngày 10/10/2018
oài
cám ơn các bạn nhìu nhìu nha
à tiện thể cho mình hỏi thêm về cái session nha
trong phần admin của mình
mình phân quyền admin và user
nhưng khi vào bằng admin thi có chuyện sảy ra là mình cứ vào đến phần thứ 3(vào các mục trong admin) thì nó tự động chuyển thành user.
cụ thể hơn là : mình có thể hiện quyền hạn bằng flag, khi admin thì flag=1 còn user=0 nhưng mà khi vào đến phần thứ 3 thì cái flag của mình nó chuyển thành cái này: SESSIONID -> thay cho số 1
ai biết lỗi này là j` không chỉ dùm mình với
kid08 viết 01:13 ngày 10/10/2018
coi lại xem ở đâu đó bạn có set lại giá trị session ko ($_SESSION['lng']=$lng nhá)
Bài liên quan
0