-8

PHPの勉強を始めました。$_POST変数は一部のファイルで機能しており、取得したデータ$_POSTをデータベースに投稿することもできます。

奇妙なことに、$_POSTいくつかのファイルでは機能していません。つまり、一貫性がありません。

以下はhtmlです:

<html>
<title></title>
<head>
</head>
<body>
 <form method="POST" action="addemail.php">
<label for="firstname">First name:</label>
<input type="text" id="firstname" name="firstname" /><br />
<label for="lastname">Last name:</label>
<input type="text" id="lastname" name="lastname" /><br />
<label for="email">Email:</label>
<input type="text" id="email" name="email" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

以下はPHPコードです。

<html>
<body>

<?php 
    $first_name = $_POST['firstname'];
    $last_name = $_POST['lastname'];
    $email = $_POST['email'];   

    print($first_name);

    $dcf = mysqli_connect('localhost','uname','XXX','elvis_store') 
                 or die('Error connecting to MYSQL Server.');

    $query = "INSERT INTO email_list (first_name, last_name, email) " .
                    "VALUES ('$first_name', '$last_name', '$email')";

    $result = mysqli_query($dcf, $query);

    mysqli_close($dcf);

?>

</body>
</html>

この問題を克服するための指針は非常に役立ちます。

4

2 に答える 2

1

$_POST には一貫性の問題があってはなりません。それは多くの可能性があります:

考えられるコード エラー

  1. キー名のつづりを間違えた

  2. 実際に値を設定していることを確認してください

  3. おそらく、URL www.example.com?var=x (GET) を介していくつかの変数を渡し、$_POST['var']代わりに参照しようとしています。$_GET['var']

  4. ページに実際に POST しなかった可能性があります。フォームから送信する場合は、method属性がPOST(method="POST")に設定されていることを確認してください

他にも多くの可能性があると確信していますが (開発環境など)、$_POST一貫性がない可能性は低いです。あなたの側でもっとコードを見る必要があります。

考えられる環境/使用上のエラー

  1. WAMP が開始されていることを確認します (常に自動開始するとは限りません)。

  2. 経由でページにアクセスしていることを確認http://localhost/path/file.phpし、つまり、フォルダーから直接ページを開こうとしないでくださいC:\path\file.php。Apache 経由で実行する必要があります。

つまり$_POST、機能していないだけですか?スクリプトを入力<?php echo "TEST"; ?>すると、エコーアウトしTESTますか?

于 2012-06-08T08:26:36.890 に答える
-3

投稿するHTMLファイルのフィールド名を確認する必要があります。HTMLファイルのフィールド名に問題がある可能性があります。よく見てください。

于 2012-06-08T08:22:57.073 に答える