--------- ถาม: include อย่างมีเงื่อนไข ทำไงครับ (รายละเอียดข้างใน) -------------

เริ่มโดย SearchMarketing, 17 ธันวาคม 2009, 04:00:06

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

SearchMarketing

--------- ถาม: include อย่างมีเงื่อนไข ทำไงครับ (รายละเอียดข้างใน) -------------


$d=$_GET[d]

ถ้า มีค่า $d ให้ include a.php
ถ้าไม่มีค่า $_GET[d] ให้ include b.php 

(หรือเอาแบบนี้ก้อได้ ถ้า ไม่มีค่า$_GET[d] ให้ ไปที่ url b.php แทน)

ทำไงครับ ช่วยที

ขอบคุณมากครับ

Red777

if($_GET[d]) include a.php else include b.php
ยังงี้ได้ป่ะ ผมก็มือใหม่หัดเขียนอยู่
[direct=http://richparadise.net]Forex Paradise[/direct]
[direct=http://richparadise.net]ฟอเร็กซ์ พาราไดส์[/direct]
[direct=http://forexparadisethailand.blogspot.com/]Forex Paradise[/direct]
[direct=http://richparadise.net]Forex Paradise Thailand[/direct]
[direct=https://www.facebook.com/groups/965285316880180/]FB Group พูดคุยเกี่ยวกับ ForexParadise.biz[/direct]

SearchMarketing

ทำแล้วมันเป็นงี้ครับ

syntax error, unexpected T_IF

มีเงื่อนไขนิดนึงไม่รู้ทำถูกป่าว

   if($_GET[d]) include "{$d}.php" else include b.php ;

a.php ที่กล่าวถึงข้างบน จะดิ้นไปตาม value $d ครับ

SearchMarketing

ตอนแรกใช้งี้ก้อไม่ผ่านครับ

   { if(empty($_GET[d])){ include_once("b.php"); }else{ include_once("file/{$d}.php");   }

SearchMarketing

ได้แล้วเย้ๆๆ

ขอบคุณคุณ "แบบนี้ไม่ต้องสืบ"


$d=$_GET[d];
if (!empty($d)){
//include ('a.php');
include "file/{$d}.php";

}else {
//include ('b.php');
include "b.php";
}

iPokz

อ้างถึงจาก: SearchMarketing ใน 17 ธันวาคม 2009, 04:15:31
ได้แล้วเย้ๆๆ

ขอบคุณคุณ "แบบนี้ไม่ต้องสืบ"


$d=$_GET[d];
if (!empty($d)){
//include ('a.php');
include "file/{$d}.php";

}else {
//include ('b.php');
include "b.php";
}





<?php

include (( 
$_GET['d'] ) ? 'a.php' 'b.php' );

?>


█ รับติดตั้งปรับแต่ง VPS/Server ค่าบริการเริ่มต้นครั้งละ 500 บาท
█ รับวางเครื่อง Colocation พร้อมปรับแต่งการใช้งานราคามิตรภาพ
█ [direct=http://www.suksonhost.com/seo-hosting]SEO Hosting 25IPs[/direct] ราคาเริ่มต้น 250 บาทเลือกไอพีใช้งานได้เอง
█ Contact : 084-0613164 (Pok)
= = =
█ เป้าหมาย : ขอกำไรแค่เดือนละหมื่นให้แม่พ่อไม่ต้องทำงาน

SearchMarketing



ball6847


<?php


$filename 
= empty($_GET['d']) ? '' $_GET['d'] ;

if (
file_exists($filename '.php'))
{
     include 
$filename '.php';
}
else
{
     include 
'b.php';
}



ระวัง security กันด้วยสิคับ เด๋วเค้าเปิดดูไฟล์บนโฮสท์เล่นจะทำยังงัย
โค้ดสั้นๆ ถ้าใช้ไม่ระวังก็เป็นรูนะคับ ระวังๆกันหน่อย

-- แก้ไขนิดนึง -- ตัวอย่างนี้ยังมีรูอยู่ดี ดูข้างล่างเน้อ
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

SekRanger

อ้างถึงจาก: ball6847 ใน 17 ธันวาคม 2009, 09:06:20

<?php


$filename 
= empty($_GET['d']) ? '' $_GET['d'] ;

if (
file_exists($filename '.php'))
{
     include 
$filename '.php';
}
else
{
     include 
'b.php';
}



ระวัง security กันด้วยสิคับ เด๋วเค้าเปิดดูไฟล์บนโฮสท์เล่นจะทำยังงัย
โค้ดสั้นๆ ถ้าใช้ไม่ระวังก็เป็นรูนะคับ ระวังๆกันหน่อย

ถ้าเขียนแบบนี้ถือว่ามีช่องโหว่ครับ

ต้องมีเงื่อไขด้วย ว่าถ้าไม่ใช่ไฟล์ที่อนุญาตให้ดูก็จะ Error

อาจเอารายชื่อไฟล์ที่อนุญาติเก็บไว้ใน Array แล้วตรวจก็ได้ครับ

ball6847

เออ จริงด้วยแฮะ ผมเช็คไฟล์อย่างเดียวนี่นา ขอบคุณมากครับ จริงๆโค้ดที่ผมเขียนไปมันก็ยังเปิดดูเล่นได้อยู่ดี *0* น่าจะเช็คอีกแบบ


<?php


$filename 
= empty($_GET['d']) ? '' $_GET['d'] ;
$files = array('a.php' 'b.php' 'c.php');


if (
in_array($filename '.php' $files) AND file_exists($filename '.php'))
{
     include 
$filename '.php';
}
else
{
     include 
'b.php';
}




ขอบคุณอีกทีครับ +1 ไปเลย
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]


Mayjung007

 :wanwan006:

ผมว่าใช้ switch จะดีกว่า if else ครับ

แล้วส่งค่า parameter แบบ get มาเลยดีกว่า ก็ถ้าจะให้ไปหน้าไหนก็กำหนดไว้ในลิ้งนั้นๆ
เช่น www.xxx.com/index.php?id=home

switch($id){
case home : include('home.php');
case ..... : คำสั่งๆ
default : ถ้าไม่ตรงเงื่อนไขใดๆ ก็ มา  index.php
}