ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์ProgrammingPHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: PHP แทนค่าตัวแปรแบบนี้ได้ไหมอะครับ  (อ่าน 2493 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ThaNaButS
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 67
ออฟไลน์ ออฟไลน์

กระทู้: 1,197



ดูรายละเอียด
« เมื่อ: 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

เราจะเขียนสคิปยังไงครับ
บันทึกการเข้า
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 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";
?>
บันทึกการเข้า

ThaNaButS
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 67
ออฟไลน์ ออฟไลน์

กระทู้: 1,197



ดูรายละเอียด
« ตอบ #2 เมื่อ: 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";
?>


เก่งจังเลยนะครับผมงงอยู่ตั้งหลายวันครับ
บันทึกการเข้า
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 29 พฤศจิกายน 2007, 22:01:51 »

ลองอ่านนี้ดูนะ อธิบายถึงวิธีการเขียนแบบลัดไว้ (เผื่อไม่เข้าใจ)

โค๊ด:
http://www.thaiseoboard.com/index.php/topic,6920.msg82887/topicseen.html#msg82887
บันทึกการเข้า

bankkungz
สมุนแก๊งเสียว
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 950



ดูรายละเอียด
« ตอบ #4 เมื่อ: 29 พฤศจิกายน 2007, 22:05:09 »

ความรุ้อีกแล้ว  Cheesy
บันทึกการเข้า

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,886



ดูรายละเอียด
« ตอบ #5 เมื่อ: 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"])
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 02 ธันวาคม 2007, 18:55:29 »

โอ้  Shocked

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

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

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,886



ดูรายละเอียด
« ตอบ #7 เมื่อ: 02 ธันวาคม 2007, 19:15:48 »

โอ้  Shocked

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

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

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 02 ธันวาคม 2007, 19:50:33 »

empty()   Shocked Shocked Shocked Shocked

ว่าก็เคยเห็นประจำ แต่ไม่เคยใช้ (อีกที)  Shocked Shocked Shocked Shocked
บันทึกการเข้า

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,886



ดูรายละเอียด
« ตอบ #9 เมื่อ: 02 ธันวาคม 2007, 23:40:41 »

คำเตือน: ถ้าค่าตัวแปรเท่ากับ 0
function empty  จะ return true นะครับ
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
หน้า: [1]   ขึ้นบน
พิมพ์