0

$_POSTを使用してコード行で変数を見つけようとしていますstrstr。基本的に、ユーザーはコードを送信し、私のプログラムはコード内を検索して検索します。$_POSTもちろんstrstr、最初の出現のみを検索しますが、それでも検索します。コードをPHPスクリプトに引き継ぐ単純なHTMLフォームがあります。これは私がそれをしている方法です:

$user_submit=$_POST['submit'];//code posted
$post="$_POST";//used for post search
/*search code for $_POST*/

if(strstr($user_submit,$post)){
echo "found " . $post . ".";}
else{
echo "No " . $post . " found.";} 

エラーが発生しNo Array found.0ます。おそらく私はstrstr間違って使用しています、私は文字列をふるいにかけるのは初めてです、すべての助けに感謝します。

4

2 に答える 2

4

これは変数の置換によるものです。PHPでは、$variableや$_POSTなどの変数識別子のように見えるものを文字列リテラルに含めると、その値が文字列に置き換えられます。

したがって、何が起こっているのかというと、その文字列の$ _POSTは、$ _ POST変数をその文字列表現に変換するPHPに置き換えられます。これは、$ _ POSTではないため、何にも一致しません。

これを回避するために一重引用符を使用できます。または、$文字をエスケープすると思います。

于 2012-12-23T03:54:20.043 に答える
0

これを試して:

if(isset($_POST['submit'])){
    // Form sended!
}
于 2012-12-23T03:53:03.040 に答える