หุหุ ถามครั้งที่ 2 ของวันนี้ครับ
เป็นปัญหาค้างคาใจมานานแล้ว วันนี้ขอถามผู้รู้เลยนะครับ
ผมมีปัญหาเรื่อง ฟอร์มเสิร์จกับ mod rewrite ครับ
ปกติ สมมุติเขียนโค๊ด
<form method="get" action="search.php"><br><input type="text" name="title" size="30"><input type="submit" value="search"></form>
ซึ่งจะส่งค่าผ่าน query string ได้ผลลัพท์
www.xxx.com/search.php?title=คำค้น
แต่ถ้าผมต้องการให้ไปที่
www.xxx.com/search/คำค้น.html
ซึ่งผมได้ทำ mod rewrite ไว้ ผมต้องเขียนยังไงครับ...
ปัญหาที่ค้างคามานาน หวังว่าจะมีเทพออกมาโปรดบ้างนะครับ อิอิ...
ประมาณนี้ครับ ลองดู
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^search\/(.*)\.html$ search.php?title=$1 [L]
อ้างถึงจาก: Tee++;ประมาณนี้ครับ ลองดู
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^search\/(.*)\.html$ search.php?title=$1 [L]
ขอบคุณมากครับ หุหุ
:D :D :D
และเขาก็คือ~~~ ตี๋ เสียวบอร์ด :twisted: :idea:
หุหุ เอ้า ไม่ได้มอง นี่มัน mod rewrite นิครับ สงสัยถามผิดประเด็น เอาใหม่นะ
คำถาม ผมจะเขียนในส่วนของฟอร์มให้ส่งค่าไปเป็นลิ้งตามที่ได้ทำ mod rewrite ได้อย่างไร...
ปกติถ้าใส่คำค้นลงในฟอร์ม เช่น ใส่คำว่า google
แล้วคลิกปุ่มส่ง มันก็จะไปที่ search/google.html?title=google น่ะครับ
สิ่งที่ผมต้องการคือ คลิกปุ่มส่งแล้วไป search/google.html ตามที่ mod rewrite ไว้แล้วครับ
งงป่ะครับ...
:D
ใช้ Javascript ช่วยครับ
onsubmit="searching('http://domain.com', 'q')
function searching(url, el) {
var input = document.getElementById(el);
if (input.value == "") {
input.className = "txt-search-error";
return false;
} else {
var str = input.value;
var output = str.replace( new RegExp( '[^a-zA-Z0-9]', "g" ), "-" );
location.href = url + "/" + escape(output) + ".html";
}
return true;
}
<form action="dummy.php" method="get">
<input type="text" name="s" size="20">
// dummy.php
<?php
$s = $_GET["s"];
header("Location: /search/$s.html");
?>
แบบคุณตี๋ จะว่องกว่า เพราะไม่ process php เลย
แต่ถ้า disable javascript ก็ใช้ไม่ได้ครับ
เป็นผม เอาแบบคุณตี๋ดีกว่า เค้าคงเปิด js กันหมดเนอะ
อ้างถึงจาก: thaiseodevแบบคุณตี๋ จะว่องกว่า เพราะไม่ process php เลย
แต่ถ้า disable javascript ก็ใช้ไม่ได้ครับ
เป็นผม เอาแบบคุณตี๋ดีกว่า เค้าคงเปิด js กันหมดเนอะ
อิอิ ทางที่ดีเอามันทั้ง 2 แบบเลยสิครับ ถ้าหลุด java ค่อยไปหาไฟล์จริงๆ Save กว่าเยอะเลย
แง่บๆ เข้ามาอ่านแล้วทำหน้างง "มันเรื่องอะไรกันเหรอ"
เขียน php ไม่เป็นอะ ไปละ อิๆ :lol:
ขอบคุณครับ ทุกท่าน.....
:D