带有 PDO 代码的未定义索引

Undefined index with PDO code

尝试使用以下代码将数据插入 table 中:

if ($valid) {
            $pdo = Database::connect();
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $sql = "INSERT INTO customers (FName, LName, JAddress, BAddress, Phone, APhone, Email, AEmail) values(?, ?, ?, ?, ?, ?, ?, ?);";
            $q = $pdo->prepare($sql);
            $q->execute(array($FName,$LName,$JAddress,$Baddress,$Phone,$APhone,$Email,$AEmail,$id));
            Database::disconnect();
            header("Location: index.php");
        }

// keep track post values
        $id       = $POST['id'];
        $FName    = $_POST['FName'];
        .....etc

形式

<div class="control-group <?php echo !empty($nameError)?'error':'';?>">
                        <label class="control-label">ID</label>
                        <div class="controls">
                            <input name="id" type="text"  placeholder="ID" value="<?php echo !empty($id)?$id:'';?>">
                            <?php if (!id($idError)): ?>
                                <span class="help-inline"><?php echo $idError;?></span>
                            <?php endif; ?>
                        </div>
                      </div>
                      <div class="control-group <?php echo !empty($FNameError)?'error':'';?>">
                        <label class="control-label">First Name</label>
                        <div class="controls">
                            <input name="FName" type="text"  placeholder="First Name" value="<?php echo !empty($FName)?$FName:'';?>">
                            <?php if (!empty($FNameError)): ?>
                                <span class="help-inline"><?php echo $FNameError;?></span>
                            <?php endif; ?>
                        </div>
                      </div>

我进入了一个显示 ID 表单字段的页面,我想将其隐藏起来,当然让它自动递增。在表单字段下方,我得到: 调用未定义函数 id()

如果我输入 ID # 并按回车键,我会收到以下错误: 注意:未定义的变量:POST 注意:未定义索引:Phone ...等等

我知道这一定是我弄错了钥匙,但我没有发现。有人看到我哪里出错了吗?

这一行$id = $POST['id'];

$POST

缺少下划线:

$_POST

这是一个超级全球http://php.net/manual/en/language.variables.superglobals.php

  • 其中解释了通知。

注意:你在

中还有一个额外的参数$id
((array($FName,$LName,$JAddress,$Baddress,$Phone,$APhone,$Email,$AEmail,$id))

这也可能会带来问题。