โปรแกรมเมอร์ php ขอถามอีกครั้งครับ..

เริ่มโดย kingmaster, 17 กุมภาพันธ์ 2007, 20:01:13

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

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

kingmaster

หุหุ ถามครั้งที่ 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 ไว้ ผมต้องเขียนยังไงครับ...

ปัญหาที่ค้างคามานาน หวังว่าจะมีเทพออกมาโปรดบ้างนะครับ อิอิ...

Tee++;

ประมาณนี้ครับ ลองดู


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^search\/(.*)\.html$ search.php?title=$1 [L]
[direct=http://laravel.in.th]Laravel in Thai[/direct]
[direct=http://jquerytips.com]jQueryTips by Tee++;[/direct]
[direct=https://www.facebook.com/jQueryTips]jQueryTips Page[/direct]
[direct=https://www.facebook.com/Laravel.in.th]Laravel in Thai Page[/direct]
[direct=https://twitter.com/Teepluss]Teepluss's Twitter[/direct]


kingmaster

อ้างถึงจาก: Tee++;ประมาณนี้ครับ ลองดู


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^search\/(.*)\.html$ search.php?title=$1 [L]

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

:D  :D  :D

Step9

และเขาก็คือ~~~ ตี๋ เสียวบอร์ด    :twisted:  :idea:
[direct=http://www.thaiseoboard.com/index.php/topic,315485]รับจ้างโพสเว็บ ขายสินค้าและบริการ, ขายบ้าน อสังหาริมทรัพย์[/direct] | [direct=http://www.thaiseoboard.com/index.php/topic,372074]ขายอะไรดี คำแนะนำจาก คุรุเทพ[/direct]
  |  [direct=http://www.iseehomecomplex.com/]ถ้าเพียงเรา.. มีบ้านอยู่...[/direct]

kingmaster

หุหุ เอ้า ไม่ได้มอง นี่มัน mod rewrite นิครับ สงสัยถามผิดประเด็น เอาใหม่นะ

คำถาม ผมจะเขียนในส่วนของฟอร์มให้ส่งค่าไปเป็นลิ้งตามที่ได้ทำ mod rewrite ได้อย่างไร...

ปกติถ้าใส่คำค้นลงในฟอร์ม เช่น ใส่คำว่า google

แล้วคลิกปุ่มส่ง มันก็จะไปที่ search/google.html?title=google น่ะครับ

สิ่งที่ผมต้องการคือ คลิกปุ่มส่งแล้วไป search/google.html ตามที่ mod rewrite ไว้แล้วครับ

งงป่ะครับ...

:D

Tee++;

ใช้ 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;
}
[direct=http://laravel.in.th]Laravel in Thai[/direct]
[direct=http://jquerytips.com]jQueryTips by Tee++;[/direct]
[direct=https://www.facebook.com/jQueryTips]jQueryTips Page[/direct]
[direct=https://www.facebook.com/Laravel.in.th]Laravel in Thai Page[/direct]
[direct=https://twitter.com/Teepluss]Teepluss's Twitter[/direct]


thaiseodev

<form action="dummy.php" method="get">
<input type="text" name="s" size="20">

// dummy.php
<?php
$s = $_GET["s"];
header("Location: /search/$s.html");
?>

thaiseodev

แบบคุณตี๋ จะว่องกว่า เพราะไม่ process php เลย
แต่ถ้า disable javascript ก็ใช้ไม่ได้ครับ

เป็นผม เอาแบบคุณตี๋ดีกว่า เค้าคงเปิด js กันหมดเนอะ

Tee++;

อ้างถึงจาก: thaiseodevแบบคุณตี๋ จะว่องกว่า เพราะไม่ process php เลย
แต่ถ้า disable javascript ก็ใช้ไม่ได้ครับ

เป็นผม เอาแบบคุณตี๋ดีกว่า เค้าคงเปิด js กันหมดเนอะ

อิอิ ทางที่ดีเอามันทั้ง 2 แบบเลยสิครับ ถ้าหลุด java ค่อยไปหาไฟล์จริงๆ Save กว่าเยอะเลย
[direct=http://laravel.in.th]Laravel in Thai[/direct]
[direct=http://jquerytips.com]jQueryTips by Tee++;[/direct]
[direct=https://www.facebook.com/jQueryTips]jQueryTips Page[/direct]
[direct=https://www.facebook.com/Laravel.in.th]Laravel in Thai Page[/direct]
[direct=https://twitter.com/Teepluss]Teepluss's Twitter[/direct]


EThaiZone

แง่บๆ เข้ามาอ่านแล้วทำหน้างง "มันเรื่องอะไรกันเหรอ"

เขียน php ไม่เป็นอะ ไปละ อิๆ  :lol:

kingmaster