3
4

1 に答える 1

3

(編集) まず第一に: あなたの 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()か、そのようなものだけなので:)

于 2013-04-27T07:49:03.177 に答える