2

以下に示すフォームがあります。

<form id="myForm" action="register.php" method="POST">
    <input type="text" name="email" id="email" onfocus="fieldSwap('inputhover.png')" 
        onblur="fieldSwap('inputnorm.png')"><br/>
    <input type="image" src="submitnorm.png" name="submit" id="submit" 
        alt="submit button" onMouseOver="buttonSwap('submithover.png')" 
        onMouseOut="buttonSwap('submitnorm.png')" 
        onMouseDown="buttonSwap('submitclick.png')" 
        onMouseUp="buttonSwap('submitnorm.png')"/>
</form>

このスクリプトを呼び出します。

<?php
    require_once 'db.php';

    $email = $_POST['email'];
    echo $email;
    echo "Register form";
    $sql->$db->prepare("INSERT INTO emails SET email = :email");
    $sql -> bindValue(':email', $email, PDO::PARAM_STR);
    $sql -> execute();

    // Redirect back to homepage
    header('Location: index.php');
    exit();
?>

このエラーが発生しています:

注意: 未定義のインデックス: C:\wamp\www\Holding page\register.php の 3 行目の email

私は何を間違っていますか?メールというインデックスが POST 配列に存在しないことは理解していますが、なぜそうなのかはわかりません。ありがとう!

4

2 に答える 2

2

フォームを送信してみてください

<input type="submit" value="send">

で動作するかどうかを確認し`print_r()ます。

悲しいことに、なぜあなたのために働いていないのかわかりません<input type="image">。doctype (HTML5 である必要があります) とブラウザー (古すぎますか?) を確認してください。

于 2013-05-24T21:16:32.927 に答える
0

value属性を追加するのを忘れて、ボタンのemail入力が機能type=imageしない場合は、試してみてくださいsubmittype=submit

<form id="myForm" action="register.php" method="POST">
<input type="text" name="email" id="email" value="" onfocus="fieldSwap('inputhover.png')" onblur="fieldSwap('inputnorm.png')"><br/>
<input type="submit" src="submitnorm.png" name="submit" id="submit" alt="submit button" onMouseOver="buttonSwap('submithover.png')" onMouseOut="buttonSwap('submitnorm.png')" onMouseDown="buttonSwap('submitclick.png')" onMouseUp="buttonSwap('submitnorm.png')"/>
</form>
于 2013-05-24T21:21:10.253 に答える