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();
?>

我收到此错误:

注意:未定义索引:第 3 行 C:\wamp\www\Holding page\register.php 中的电子邮件

我究竟做错了什么?我知道 POST 数组中不存在名为 email 的索引,但我不确定为什么会这样。谢谢!

4

2 回答 2

2

尝试通过提交您的表单

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

看看这是否适用于`print_r().

可悲的是,我不知道为什么<input type="image">不适合你。尝试检查文档类型(必须是 HTML5)和您的浏览器(太旧?)。

于 2013-05-24T21:16:32.927 回答
0

您忘记添加value属性email以及如果输入type=image不适用于submit按钮,那么您可以尝试type=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 回答