ส่งค่า GET แบบมีเงื่อนไข ช่วยหน่อยครับ ต้องรีบส่งแล้ว คือส่งแบบไม่มีเงื่อนไขส่งไปได้แต่ พอมีเงื่องไขแล้วส่งไม่ได้
หลักการง่ายๆของผมเป็นแบบนี้ครับ ลองดูตรงตามต้องการไม๊
Code (PHP)
<body>
<form id="form2" name="form2" method="post" action="">
<label for="textfield"></label>
คำที่จะค้น
<input type="text" name="q" id="q" />ค้นหาโดย
<select name="S_engine">
<option value="http://www.google.com/search?q=">google</option>
<option value="http://www.youtube.com/results?search_query=">youtube</option>
<option value="https://maps.google.co.th/maps?q=">แผนที่</option>
<option value="http://th.wikipedia.org/w/index.php?search=">วีกีพีเดีย</option>
</select>
<input type="submit" name="button" id="button" value="ส่ง" />
</form>
<p>จะส่ง ลิงค์+คำค้น ไปให้เว็บนั้น ส่งค่าแบบ get ให้ แสดง ออกมา <br />
เช่น (http://th.wikipedia.org/w/index.php?search=การท่องเที่ยว) </p>
<?php
if(!empty($_POST['S_engine'])){
echo '<script>location.href="'.$_POST['S_engine'].$_POST['q'].'"</script>';
unset($_POST['S_engine']);
}
?>
</body>
Date :
2012-12-10 13:25:20
By :
mangkunzo
ขอบคุณคุณ mangkunzo แต่เงื่อนไข คือ ต้องคลิกที่ link เพื่อกำหนดว่าจะให้ไป ค้นหาที่ไหน โดยใน text input หรือช่องให้ใส่คำค้น จะพิมพ์ก่อน หรือหลังก็ได้ แต่ กดที่ link แล้ว จะเป็นตัวกำหนดให้ว่าจะไปค้นที่ไหน ประมาณนี้อะครับ
ประวัติการแก้ไข 2012-12-11 01:07:43
Date :
2012-12-11 01:05:11
By :
byeasy
Code (PHP)
<body>
<table width="543" height="73" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="135"><a href="?engine=google">หาโดย=google</a></td>
<td width="12"> </td>
<td width="139"><a href="?engine=youtube">หาโดย=youtube </a></td>
<td width="13"> </td>
<td width="107"><a href="?engine=gmap">หาโดย=แผนที่</a></td>
<td width="11"> </td>
<td width="114"><a href="?engine=wiki">หาโดย=วีกีพีเดีย</a></td>
<td width="12"> </td>
</tr>
</table>
<p>คลิกที่ลิงค์เพื่อเลือกการค้นหา</p>
<?
if($_GET['engine'] != null){
if($_GET['engine'] == "google"){
$link = "http://www.google.com/search?q=";
}else if($_GET['engine'] == "youtube"){
$link = "http://www.youtube.com/results?search_query=";
}else if($_GET['engine'] == "gmap"){
$link = "https://maps.google.co.th/maps?q=";
}else if($_GET['engine'] == "wiki"){
$link = "http://th.wikipedia.org/w/index.php?search=";
}
?>
<?
if($_GET['engine'] == "wiki"){
?>
<form id="form2" name="form2" method="get" action="<? echo $link; ?>.search">
<?
}else{
?>
<form id="form2" name="form2" method="get" action="<? echo $link; ?>.q">
<?
}
?>
<label for="textfield"></label>
คำที่จะค้น
<?
if($_GET['engine'] == "wiki"){
?>
<input type="text" name="search" id="search" />
<?
}else{
?>
<input type="text" name="q" id="q" />
<?
}
?>
<input type="submit" name="button" id="button" value="ส่ง" />
</form>
<p>จะส่ง ลิงค์+คำค้น ไปให้เว็บนั้น ส่งค่าแบบ get ให้ แสดง ออกมา <br />
เช่น (http://th.wikipedia.org/w/index.php?search=การท่องเที่ยว) </p>
<?
}
?>
</body>
Date :
2012-12-11 07:42:11
By :
tonnant
ขอบคุณพี่ Ton มากนะครับ
Code (PHP)
if($_GET['engine'] != null){ // null ต้องมี "null" งี้ใช่ปะครับ
แต่ผมก็ยัง งง ว่า ตรง link มันจะตรวจยังไงว่า เราเลือกlink นี้อยุ่ คือผมลองเอาไป Run ดูมันก็ Run ได้ครับ แต่เหมือนว่า เงื่อนไข มันไม่ได้กำหนด ตรง link ว่าจะเลือกยังไง
แล้วเวลาพิมพ์ คำที่จะค้นหาลงในช่อง เช่น รถสีขาว ที่จะค้นจาก google พอกดที่ link ว่าจะหาผ่าน youbube รถสีขาวก็หายไปจาก ช่อง input เลยครับ ต้องได้พิมพ์ใหม่อีกรอบ
ประวัติการแก้ไข 2012-12-11 11:04:13
Date :
2012-12-11 10:54:47
By :
byeasy
ตามนี้เลยครับผม พึ่งทำให้ตะกี้ ลองดูว่าประมาณหรือป่าวที่ต้องการอ่ะคับ ได้ไม่ได้บอกด้วยนะคับ...
Code (PHP)
<table border="1">
<tr>
<td>
<input type="submit" name="Submit" value="Google" style="border:none; cursor:pointer; background-color:#FFFFFF;" onClick="sendParameter('http://www.google.com/search?q')" >
</td>
<td> <input type="submit" name="Submit" value="Youtube" style="border:none; cursor:pointer; background-color:#FFFFFF;" onClick="sendParameter('http://www.youtube.com/results?search_query')" ></td>
<td><input type="submit" name="Submit" value="Map" style="border:none; cursor:pointer; background-color:#FFFFFF;" onClick="sendParameter('https://maps.google.co.th/maps?q')" ></td>
<td><input type="submit" name="Submit" value="Wikipedia" style="border:none; cursor:pointer; background-color:#FFFFFF;" onClick="sendParameter('http://th.wikipedia.org/w/index.php?search')" ></td>
</tr>
<script>
function sendParameter(url){
document.getElementById('txtParameter').value=url
}
function sendUrl(P1,P2){
window.open(P1+"="+P2,"_blank");
}
</script>
</table>
<table border="1">
<tr>
<td>Search</td>
<td>
<input type="text" name="txtSearch" id="txtSearch">
</td>
<td>
<input type="button" name="btnSearch" value=" Search " style="cursor:pointer;" onClick="sendUrl(txtParameter.value,txtSearch.value);">
</td>
<td>
<input name="txtParameter" type="hidden" id="txtParameter" size="80">
</td>
</tr>
</table>
<p> </p>
</body>
ประวัติการแก้ไข 2012-12-11 15:49:44
Date :
2012-12-11 15:49:05
By :
beerkingdom
ขอบคุณ คุณ beer มากๆครับแบบนี้เลยครับ ขอนำ code นี้ไปประยุคต์นะครับ
และขอบคุณ คุณ Bom คุณTon และ คุณ mangkunzo ด้วยนะครับที่ค่อยช่วยเหลือ
Date :
2012-12-11 17:15:03
By :
byeasy
ยินดีแลกเปลี่ยนความรู้คับผม
Date :
2012-12-11 17:33:34
By :
beerkingdom
คุณ beer ครับ ถ้าเราจะตั้ง deflult หากยังไม่ได้คลิกอะไรให้ เป็นหาจาก google ธรรมดาก่อน ตรงนี้กำหนดตรงไหนครับ
ผมแก้ เป็นแบบนี้ครับ แต่มันก็ไม่ได้
Code (PHP)
function sendParameter(url){
if(sendParameter=""){document.getElementById('txtParameter').value="http://www.google.com/search?q"}
else {document.getElementById('txtParameter').value=url}
}
function sendUrl(P1,P2){
window.open(P1+"="+P2,"_blank");
}
ประวัติการแก้ไข 2012-12-11 19:57:53
Date :
2012-12-11 19:40:03
By :
byeasy
ตามนี้เลยครับ..ได้รึป่าวเอ่ย..ลองดูครับ บอกด้วยนะครับ
Code (JavaScript)
<body onLoad="setDefault('http://www.google.com/search?q');">
<script>
function setDefault(urlDF){
document.getElementById('txtParameter').value=urlDF
}
function sendParameter(url){
document.getElementById('txtParameter').value=url
}
function sendUrl(P1,P2){
window.open(P1+"="+P2,"_blank");
}
</script>
ประวัติการแก้ไข 2012-12-11 20:15:45
Date :
2012-12-11 20:11:13
By :
beerkingdom
ได้ละครับ ตรง <input name="txtParameter" type="hidden" id="txtParameter" size="80"> ผมใส่ value="http://www.google.com/search?q=" เพิ่มลงไปครับ
Date :
2012-12-11 21:21:08
By :
byeasy
Load balance : Server 01