2011-12-22 4 views
-1

PHPファイルを動的に作成したいと思います。静的なHTMLコードは正常に動作しますが、 "window.location"コマンドを含むPHPコードを挿入する場合、スクリプトは "if(isset())"条件を満たさずに、そのページに直接送信します。PHP - 動的にファイルを作成するには?

何とか単純なエコーは機能しません。これをどうすれば解決できますか?

public function suche() 
{ 
    echo "if(isset(\$_POST['searchit'])) 
    { 
    \$suchbegriff = \$_POST['suchbegriff']; 

    \$anfangsbuchstabe = substr(\$suchbegriff, 0, 1); 

    <script type='text/javascript' language='Javascript'>window.location = '/".$anfangsbuchstabe."/".$suchbegriff.".php'</script> 
    }"; 
} 
+1

あなたは正確に何をしようとしていますか?そして、世界でどのようにそれが動作することを期待していますか? –

答えて

3

あなたが実際に別のリクエストで呼び出し/実行したいphpファイルに書き込んでいる場合は、phpがphpとして認識されていることを確認する必要があります。私はphp開始タグと終了タグを追加した

public function suche() 
{ 
    echo "<?php if(isset(\$_POST['searchit'])) 
    { 
    \$suchbegriff = \$_POST['suchbegriff']; 

    \$anfangsbuchstabe = substr(\$suchbegriff, 0, 1); 
    ?> 
    <script type='text/javascript' language='Javascript'>window.location = '/".$anfangsbuchstabe."/".$suchbegriff.".php'</script> 
<?php 
    } 
?>"; 
} 

注:

だからあなたのようなものが必要になります。

+0

@ jeroen..thanks man !! –

0

変数をエスケープするのを忘れました。ペーストされたPHPの色でわかるように、変数が実行されます。

はまた

\でそれらをエスケープし、二重引用符のために同じことを行う("

、私も気づい何を、あなたのコードをINGのechoだということです。 PHPコードをエコーすることは実際にコードを実行することはありません。

evalでPHPコードを実行できますが、VERY UNSAFEです。あなたの質問から見ることができると判断して、あなたはすべてのセキュリティリスクを数えるほどの経験はありません。それを使用しないでください。

関連する問題