无法将值从表单传递到要发布的变量

时间:2019-04-07 11:37:11

标签: php html oop

我想从表单中传递一些值,以便通过POST发送。但是,当我使用下拉菜单时,它不会检测到该值,因此给每个变量一个未定义的索引错误

当我使用简单的文本形式发布时,它可以工作,但是我需要使用下拉形式。

商店代码的下拉列表

<?php $stmt = $shop->readName();
    echo "<select class='form-control name='shop_id'>";
    echo "<option>select shop name</option>";

    while ($row_shop = $stmt->fetch(PDO::FETCH_ASSOC)) {
        extract($row_shop);
        echo "<option value='{$shop_id}'>{$shop_name} </option>";
    }
    echo "</select>";
?>

和邮政编码

if ($_POST) {
  // Set values
  $transaction - > customer_id = $_POST['customer_id'];
  $transaction - > shop_id = $_POST['shop_id'];
  $transaction - > staff_id = $_POST['staff_id'];

  // create transaction
  if ($transaction - > add()) {
    echo "<div class='alert alert-success'>Transaction was created.</div>";
  }

  // if unable to create the staff, tell the user
  else {
    echo "<div class='alert alert-danger'>Failed.</div>";
  }
}

编辑:现在错误消失了,但是表单根本不会做任何事情:( 这是表格的屏幕截图 form

1 个答案:

答案 0 :(得分:-1)

未定义的索引错误意味着您尚未将$transaction定义为对象,因此,当您尝试更新其中一个值(例如$transaction->customer_id)时,PHP会给您一个错误。 / p>

尝试像这样定义$transaction

$transaction = new yourObjectNameHere();

就在if($_POST)之后。