1

バグIDの値を入力するかどうかに関係なく、両方の条件でphpタグ間のコードが出力として表示されます。誰かが私に理由を見つけるのを手伝ってもらえますか?コードを以下に示します。

htmlファイル------------------------------------------------ -------------

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Bug Report</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
 <body>
<h2>Bug Report</h2>
<form action="test.php"  method="post"  >
<p>Bug ID:<input type="text" name="bugid" size="20" /></p>      
<p><input type="submit" value="Record Bug" /></p> 
</form>  
</body> 
</html>

phpファイル------------------------------------------------ -

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Record Bug</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>

<?php
                $bugid=$_POST["bugid"];
                echo $bugid;
if (empty($bugid))
    {
            echo "<p>You must enter the Bug ID to record the bug.</p>";
    }     
else
    {
    echo"<p>good</p>";          
                    }
?>


</body>
</html>
4

4 に答える 4

2

出力に PHP コードが含まれている場合、Web サーバーは PHP インタープリターを介してそのページ/スクリプトを実行していません。通常、これは、デフォルトでは PHP として扱われない .html ファイルにコードを配置したためです。

ファイルの名前を に変更するか、whatever.php.html ファイルを PHP スクリプトとして扱うように Web サーバーを再構成してください。

于 2012-08-17T03:34:42.830 に答える
1
  1. phpが機能しているかどうかを確認し、コードを記述します。phpapache<?php phpinfo(); ?>を手動でインストールして問題が発生した場合は、 wampサーバーを試してください。

  2. あなたのコードはそれを安全に使用するためにsql-injunctionに対して広く開かれています


public function mysql_prep( $value ) {
        $magic_quotes_active = get_magic_quotes_gpc();
        $new_enough_php = function_exists( "mysql_real_escape_string" ); // i.e. PHP >= v4.3.0
        if( $new_enough_php ) { // PHP v4.3.0 or higher
            // undo any magic quote effects so mysql_real_escape_string can do the work
            if( $magic_quotes_active ) { $value = stripslashes( $value ); }
            $value = mysql_real_escape_string( $value );
        } else { // before PHP v4.3.0
            // if magic quotes aren't already on then add slashes manually
            if( !$magic_quotes_active ) { $value = addslashes( $value ); }
            // if magic quotes are active, then the slashes already exist
        }
        return $value;
    }
于 2012-08-17T03:51:34.227 に答える
1

マシンで php が実行されているかどうかを確認します。以下のコードを test.php として保存し、実行します

<?php

   phpinfo();

?>
于 2012-08-17T03:41:39.273 に答える
0

その場合、Xampp や Wamp などの PHP をサポートするサーバーで実行する必要があり、ファイルの拡張子は .php にする必要があります。

于 2012-08-17T03:37:49.160 に答える