2017-07-13 31 views
0

私はPHPページindex.phpを持っていますが、これはHTMLにも当てはまります。このページでは簡単な検索フォームが必要です。フォームに入力されたテストは、index.phpにリロードする必要がありますか?searchstringPHPフォームに?search_stringを追加して同じURLに戻すにはどうすればよいですか?

たとえば、フォームにテキスト '123'を入力してsubmitを押すと、ページは 'index.php?123'としてリロードされます。

確かにこれを行う簡単な方法がありますが、見つけられません!

+0

実際にはありませんが、 ''の 'GET'形式を使用して' index.php?q = 123'を実行できます。 –

+0

ありがとうございます。しかし、これは、私の検索がさまざまなものになる可能性があり、そのページが既に検索されているため、避けたいものです。 – user1222302

+0

私はあなたのhtmlが良いアイデアだと思っています:) – ThisGuyHasTwoThumbs

答えて

1

POSTの代わりにGETフォームを使用するだけです。

<form method="get"> 
    <input type="search" name="q" value="<?= $_GET['q']; ?>"> 
</form> 
+0

それはindex.phpを返しますか?q = 123私はindex.phpを返すのに必要なのですが?123 – user1222302

+0

@ user1222302なぜですか?私は、通常のクエリ文字列を使用して解決できない理由を考えるのに苦労しています。 – BadHorsie

0

あなたがを書き換えURLを使用する場合は、このような何かacheiveことができます:

www.example/index/123 

または

www.example/index.php/123 

をしかし、私は、これらのメソッドは、冗長見つけます。

index.php?search=123 

注:私はあなただけで行うことができない方法を理解していない、これはあなたの解決策になるかもしれないとたぶん$_SERVER['QUERY_STRING']に見えます。あなたのPHPで

、あなたがしなければならないすべては、次のとおりです。

<?php 

    $search = $_GET['search']; 

?> 

あなたが任意のコードを書き換えるために持っていけません。何らかの形でスクリプトがURLのGET変数にアクセスしているためです。古い変数を新しい変数に設定するだけです。

$oldVariable = $search; 
+0

使用中のスクリプトでは、複数の変数を検索できます。私はスクリプトを書き直したいのではなく、 '?'の後に検索されたものを返すようにしてください。 URLに$ _SERVER ['QUERY_STRING']はまだURLに?q =を付けるか、または「q」を削除するとただちに入手できますか?それ以後何もなしで – user1222302

+0

私は私の答えを編集しました。 –

関連する問題