Page 1 of 1

คำสั่งนี้คืออะไรครับ เหมือน short if หรือเปล่าครับ

Posted: 17/08/2019 2:22 pm
by jamepiyawat
พอดีว่าผมกำลังศึกษาวิธีการที่จะทำให้เว็บเปลี่ยนเป็น 2 ภาษาใน joomla อยู่ครับผมพอจะเข้าใจว่าถ้า array ใน $lang เป็น en ก็จะแสดงข้อความภาษาอังกฤษออกมา แต่ถ้า $lang เป็น th ก็จะแสดงข้อความภาษาไทย แต่ว่าทำไม $lang ถึงได้เก็บ en หรือ th ได้เหรอ ครับ en ที่เอามาใส่ใน $lang ไปดึงมาจากไหน ครับ

Code: Select all

$lang = isset($_GET['lang']) ? $_GET['lang'] : 'th';

Re: คำสั่งนี้คืออะไรครับ เหมือน short if หรือเปล่าครับ

Posted: 17/08/2019 2:37 pm
by tsukasaz
โค้ดนี้แปลว่า ตัวแปรชื่อ $_GET['lang'] มีการกำหนดค่า หรือ มีการประกาศค่าหรือเปล่า ถ้ามีก็ใช้ค่าจาก $_GET['lang'] ได้ แต่ถ้าไม่มีก็คืนค่า th กลับไป

ถ้ามีการประกาศค่า $_GET['lang'] เท่ากับ en หรือ th มันก็จะคืนค่า en หรือ th กลับไป แต่ถ้า $_GET['lang'] ไม่มีค่า ก็คืนเป็น th

Re: คำสั่งนี้คืออะไรครับ เหมือน short if หรือเปล่าครับ

Posted: 17/08/2019 3:10 pm
by jamepiyawat
แล้ว $_GET['lang'] มีค่า en หรือ th ได้อย่างไรครับ และ ทำอย่างไรให้ $_GET['lang'] มาค่า en หรือ th เหรอครับ

Re: คำสั่งนี้คืออะไรครับ เหมือน short if หรือเปล่าครับ

Posted: 17/08/2019 3:32 pm
by tsukasaz
ตัวแปร $_GET มาจาก url ครับ ลองดู URL บน Browser เช่น index.php?name=test

เวลาเราจะแสดงค่าที่อยู่บน URL เขียนได้แบบนี้

Code: Select all

<?php
echo $_GET['name']; // ผลลัพท์ที่ได้คือ test 
ในตัวที่ถามมา $_GET['lang'] แปลว่าที่ URL ต้องมี index.php?lang=en หรือ อาจจะ index.php?lang=th

Re: คำสั่งนี้คืออะไรครับ เหมือน short if หรือเปล่าครับ

Posted: 17/08/2019 3:40 pm
by jamepiyawat
อ๋อ งั้นเราจะทำอย่างไรให้มันมี name=test ต่อจากชื่อไฟล์ของเราได้เหรอครับ
เพราะว่าปกติแล้วมันก็จะจบที่ index.php ครับ