ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: ThaNaButS ที่ 29 พฤศจิกายน 2007, 19:05:38



หัวข้อ: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
เริ่มหัวข้อโดย: ThaNaButS ที่ 29 พฤศจิกายน 2007, 19:05:38
<?php
$show = $_GET["x"]+2;
echo "$show";
?>
คือถ้าผมไม่กำหนด ค่า GET ของตัวแปร x (เวลาเรียก เช่น http://localhost/test.php)  ก้อจะให้แสดงเป็น 3 (โดยให้ค่า x เป็น 1 เวลาไม่ได้รับค่าจาก GET)
และเวลารับค่าจาก GET เช่น http://localhost/test.php?x=5 ก็ให้แสดงเป็น 7 คือรับค่า GET มาบวกอีก2

เราจะเขียนสคิปยังไงครับ


หัวข้อ: Re: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
เริ่มหัวข้อโดย: EThaiZone ที่ 29 พฤศจิกายน 2007, 19:21:51
<?php
if(!$_GET["x"]) $_GET["x"] = 1; //ถ้าไม่มีค่า x ก็กำหนดมันเป็น 1
$show = $_GET["x"]+2;  //อันนี้จะ เพิ่ม x ไปอีก 2  (ถูกแล้ว)
echo "$show";
?>

ส่วนวิธีเขียนแบบลัด สั้นๆ เข้าใจยากหน่อยนะ อยากเขียนให้ดู ได้ผลเหมือนกัน

<?
$show = ($_GET['x'] ? $_GET['x'] : 1) + 2;
echo "$show";
?>


หัวข้อ: Re: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
เริ่มหัวข้อโดย: ThaNaButS ที่ 29 พฤศจิกายน 2007, 20:30:12
<?php
if(!$_GET["x"]) $_GET["x"] = 1; //ถ้าไม่มีค่า x ก็กำหนดมันเป็น 1
$show = $_GET["x"]+2;  //อันนี้จะ เพิ่ม x ไปอีก 2  (ถูกแล้ว)
echo "$show";
?>

ส่วนวิธีเขียนแบบลัด สั้นๆ เข้าใจยากหน่อยนะ อยากเขียนให้ดู ได้ผลเหมือนกัน

<?
$show = ($_GET['x'] ? $_GET['x'] : 1) + 2;
echo "$show";
?>


เก่งจังเลยนะครับผมงงอยู่ตั้งหลายวันครับ


หัวข้อ: Re: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
เริ่มหัวข้อโดย: EThaiZone ที่ 29 พฤศจิกายน 2007, 22:01:51
ลองอ่านนี้ดูนะ อธิบายถึงวิธีการเขียนแบบลัดไว้ (เผื่อไม่เข้าใจ)

โค๊ด:
http://www.thaiseoboard.com/index.php/topic,6920.msg82887/topicseen.html#msg82887


หัวข้อ: Re: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
เริ่มหัวข้อโดย: bankkungz ที่ 29 พฤศจิกายน 2007, 22:05:09
ความรุ้อีกแล้ว  :D


หัวข้อ: Re: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
เริ่มหัวข้อโดย: icez ที่ 02 ธันวาคม 2007, 16:01:23
<?php
if(!$_GET["x"]) $_GET["x"] = 1; //ถ้าไม่มีค่า x ก็กำหนดมันเป็น 1
$show = $_GET["x"]+2;  //อันนี้จะ เพิ่ม x ไปอีก 2  (ถูกแล้ว)
echo "$show";
?>

ส่วนวิธีเขียนแบบลัด สั้นๆ เข้าใจยากหน่อยนะ อยากเขียนให้ดู ได้ผลเหมือนกัน

<?
$show = ($_GET['x'] ? $_GET['x'] : 1) + 2;
echo "$show";
?>



error ครับ (ระดับ notice ปกติจะไม่ค่อยเห็นกัน) -*-'

แดงๆ อันแรก !$_GET["x"] แก้เป็น !isset($_GET["x"])
แดงๆ อันที่สอง $_GET["x"] แก้เป็น isset($_GET["x"])


หัวข้อ: Re: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
เริ่มหัวข้อโดย: EThaiZone ที่ 02 ธันวาคม 2007, 18:55:29
โอ้  :o

ปกติผมตรวจแบบครับเพราะ
มันมีกรณีตั้งแปรโดนตั้ง แต่มันไม่มีค่าอะไร
file.php?x=   อะไรแบบนี้

แต่สาเหตุหลักคือ ขี้เกียจเขียนเยอะอะ (ติดเป็นนิสัยไปเลย *-*)  :D


หัวข้อ: Re: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
เริ่มหัวข้อโดย: icez ที่ 02 ธันวาคม 2007, 19:15:48
โอ้  :o

ปกติผมตรวจแบบครับเพราะ
มันมีกรณีตั้งแปรโดนตั้ง แต่มันไม่มีค่าอะไร
file.php?x=   อะไรแบบนี้

แต่สาเหตุหลักคือ ขี้เกียจเขียนเยอะอะ (ติดเป็นนิสัยไปเลย *-*)  :D
ถ้าจะ check ให้ไม่ว่างด้วยก็ใส่
if (empty($_GET["x"] || !is_numeric($_GET["x"]))) $_GET["x"] = 1;
^^"


หัวข้อ: Re: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
เริ่มหัวข้อโดย: EThaiZone ที่ 02 ธันวาคม 2007, 19:50:33
empty()   :o :o :o :o

ว่าก็เคยเห็นประจำ แต่ไม่เคยใช้ (อีกที)  :o :o :o :o


หัวข้อ: Re: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
เริ่มหัวข้อโดย: icez ที่ 02 ธันวาคม 2007, 23:40:41
คำเตือน: ถ้าค่าตัวแปรเท่ากับ 0
function empty  จะ return true นะครับ