ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: smapan ที่ 15 กรกฎาคม 2011, 15:42:19



หัวข้อ: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: smapan ที่ 15 กรกฎาคม 2011, 15:42:19
ผมมี url ดังนี้ครับ

http://www.mywebsite.com/index.php?q=123&q=345&q=456

ในภาษา PHP ผมจะเก็บค่า q ทั้ง 3 ค่าได้ยังไงครับ

เพิ่มเติมครับ
1.url จากเว็บคนอื่นครับ
2.ตัวแปรคือ q ครับ เป็นตัวแปรเดียวแต่เก็บ 3 ค่า ผมดุงมาได้แค่ค่าล่าสุดครับ อยากได้ทั้ง หมดเลย
3.ตัวแปร q มีไม่จำกัดครับ แต่อย่างน้อยต้องมี 1 ครับ


หัวข้อ: Re: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: sirisak ที่ 15 กรกฎาคม 2011, 16:30:50
url ไม่ได้อยู่ในโฮสของตัวเองใช่ไหมครับ
หมายถึงไม่ใช่กรณีส่งค่าผ่าน POST request
เป็นการเอา url ของใครมาก็ได้ที่่มีรูปแบบแบบนี้เหรอครับ ?


ถ้าเป็นกรณีที่ 1 ก็รับค่ามาธรรมดาๆขึ้นกับการเขียนค่า get ค่าของเราครับ เช่น

$q1=$_GET['q'];

ถ้าเป็นกรณีที่ 2 ก็ใช้พวกการตัดคำน่ะครับ

อาจจะใช้เงื่อนไข

แยกด้วยคำว่า q=

จากนั้นถ้ามันติดตัว & ก็ลบมันทิ้งไปครับ

เช่น

<?php
$url="http://www.mywebsite.com/index.php?q=123&q=345&q=456";
$splitkeyword=explode("q=",$url);

$q1=$splitkeyword[1];
$q2=$splitkeyword[2];
$q3=$splitkeyword[3];

$q1=str_replace("&","",$q1);
$q2=str_replace("&","",$q2);
$q3=str_replace("&","",$q3);

echo $q1." ".$q2." ".$q3 ;
?>


หัวข้อ: Re: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: tonnant ที่ 15 กรกฎาคม 2011, 17:22:35
มันมีค่าตัวแปร q ทั้ง สามตัวเลยหรอครับ ไม่เคยเห็น ผมก็มือใหม่ ไม่แน่ใจ


แต่ถ้าแบบนี้ก็


http://www.mywebsite.com/index.php?a=123&b=345&c=456

โค๊ด:
<?php

$a 
$_GET[&#39;a&#39;];
$b $_GET[&#39;b&#39;];
$c $_GET[&#39;c&#39;];

echo $a " : " $b " : "  $c;

?>


หัวข้อ: Re: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: seowizard ที่ 15 กรกฎาคม 2011, 17:33:58
อ้างถึง
foreach($_GET as $keyname => $value) {
echo("$keyname --&gt; $value.<br />\n");
}


หัวข้อ: Re: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: smapan ที่ 15 กรกฎาคม 2011, 17:35:57
ขอบคุณมากครับ

คือผมได้ url ของเว็บมาน่ะครับ แต่ url ดังกล่าวสร้างมาจากโปรแกรมอะไรสักอย่างนึง มันเลยออกมารูปแบบนี้ครับ
เวลา get ออกมาจะเป้นค่าล่าสุดเสมอน่ะครับ

ขอบคุณทั้ง สามท่านครับ +1 ครับ

 :wanwan017:


หัวข้อ: Re: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: Infinity ที่ 15 กรกฎาคม 2011, 18:37:44
ถ้าเรียก $_GET["q"] เฉยๆ มันก็มาครบทุกตัวแหละครับ

เหมือนกับเราเขียน

$q = 1;
$q = 2;
$q = 3;

แต่ตัวแปร q มันจะถูกแทนที่ไปเรื่อยๆ เพราะว่าเป็นตัวแปรเดี่ยว ไม่ใช่ array

ถ้าจะให้ q เก็บครบทุกตัวต้องเป็นแบบนี้

$q[] = 1;
$q[] = 2;
$q[] = 3;

หรือ ?q[]=123&q[]=345&q[]=456



ส่วนวิธีแก้ก็ทำแบบความเห็น 1 ครับ

ตรง url ก็เอามาจากฟังก์ชั่นนี้ก็ได้

$url = $_SERVER['REQUEST_URI'];




หัวข้อ: Re: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: aodonline ที่ 15 กรกฎาคม 2011, 18:58:41
$_SERVER['REQUEST_URI'];
ใช้ตัวนี้เรียก url ก่อนครับ

จากนั้น get['q'] มาแต่ยังไม่จบ ต้องใช้ for นับตัวที่ get มาครับ

แล้วจากนั้น ให้ debug ค่า for ทุกครั้ง ไว้ในตัวแปร มันจะได้ค่าของตัวแปรที่ซ่ำๆ ออกมาทั้งหมดครับ

อยากให้มันต่อกันก็เอา ค่าที่ debug มาต่อกันไว้ในตัวแปรใดๆ แล้วแสดงผล ต่อกันอย่างงามครับ

ผมเขียน PHP และ JAVA เป็นชีวิต ตอนนี้ชีวิตผมจะรอด ป.โทหรือไหมมันมาวัดกันที่ JAVA โอ้ย google map api มันเล่นผม :wanwan010: :wanwan010: :wanwan010: :wanwan010:


หัวข้อ: Re: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: smapan ที่ 15 กรกฎาคม 2011, 19:02:05
 :o ขอบคุณมากครับ ที่ให้ไอเดียเรื่อง q[] ครับ

แต่ url ไม่ใช่ของผมอ่ะครับ คงต้องเอามาตัด และนับเอาครับ


ขอบคุณ ท่านaodonline และ ท่านInfinity  ครับ
+1


หัวข้อ: Re: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: xvlnw.com ที่ 15 กรกฎาคม 2011, 19:06:47
ผมว่าใช้ตัวแปรหลาย ๆ ตัวดีกว่าไหมอ่าครับ -_-"



หัวข้อ: Re: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: WPDSign ที่ 15 กรกฎาคม 2011, 19:17:05
ตัดเอาแต่ url ผมเล่นดือๆแบบนี้

โค๊ด:
<?php
$url
="http://www.mywebsite.com/index.php?q=123&q=345&q=456";
list(
$url1$url2$url3$url4) = explode("/"$url);
echo 
$url3;
?>


หัวข้อ: Re: การดึงค่าออกมาจาก URL ของ PHP
เริ่มหัวข้อโดย: NightClub ที่ 15 กรกฎาคม 2011, 19:47:09
ใช้ parse_url