我提交表单时收到一个未定义的变量。它使用echo成功打印出信息,但不在get函数之外。我需要它来获取以前的产品ID,这是get函数所做的。然后我需要它插入到SQL查询中,这是行不通的。我担心它会出现支架错误。以下是我的代码片段:
if (isset($_GET['productID'])) {
$productID = ($_GET['productID']);
echo $productID; //echos successfully
}
// Doesn't echo here
$query = "INSERT INTO orders (productID) VALUES ('$productID' )";
$results = @mysqli_query ($conn, $query);
?>
<form class="form-horizontal" role="form" method="post" action="checkout.php">
<div class="form-group">
<div class="form-group">
<div class="form-group">
<div class="col-sm-12 col-sm-offset-2">
<input type="submit" name="submit" value="Submit" class="btn btn-default"/>
</div>
</div>
</form>
</div>
<?php
include ('footer.php');
?>
答案 0 :(得分:0)
你的表格在哪里命名?当您加载页面时,$ _GET会通过,但是一旦您提交该页面,该变量就会丢失,因为它不再位于您提交的$ _POST变量集中的表单/页面中。将其存储为隐藏的输入类型以供提交。
<input type='hidden' name='productid' value='<?php echo $productid;?>' />
然后,提交
if(isset($_POST['submit'[)){
$productid = $_POST['productid'];
.
.
.
}