1 に答える
(編集) まず第一に: あなたの PHP は安全ではありません: SQL インジェクションについて読んでください: PHP でSQL インジェクションを防ぐにはどうすればよいですか?
データをスクリプトに POST する必要があるため、単純な HREF ではうまくいきません。ただし、次のことができます。
デフォルト値として「キリン」を含む非表示のテキストフィールドを持つ別の小さな非表示のフォームラッパーを作成し、テキストとして送信します
<form method="post" action="s.php?go" id="searchform">
<input class="search" type="hidden" name="heyworld" value="giraffee" />
<input class="button" type="submit" name="giraffee" value="Search" />
</form>
ここで、実際の HREF には 2 つのオプションがあります。CSS ボタンをリンクと同じにするか、リンクにするか、form.submit() で (非表示の) フォームを送信します。
これを説明するリンクは次のとおりです: How to HTTP POST from a link without JS
(編集) GET でそれを行いたい場合は、スクリプトでデータを取得するグローバルを切り替えるだけです (これはまだ安全でないコードですが、ここ数年 PHP を書いていないので、 HTML フォームを変更して、GET でデータを送信します。
if(isset($_GET['submit']) && isset($_GET['go']) && preg_match("/^[ a-zA-Z0-9#@]+/", $_GET['msg']))
これで、HREF に移動できますs.php?go&submit&msg=giraffee
- スクリプトを noe にする方法については、submit を送信する必要があることに注意してください (空の文字列は問題ありません。チェックするisset()
か、そのようなものだけなので:)