Php 为什么html输入提交不分配$\u POST数组值
请检查代码的最后一部分,输入type=“submit”name=“save\u changes\u submit”。此表单未在$\u POST中分配。我在这里干什么?我在这里犯了什么html错误吗?我怎样才能从这次提交中获得$\u POST价值Php 为什么html输入提交不分配$\u POST数组值,php,html,mysql,Php,Html,Mysql,请检查代码的最后一部分,输入type=“submit”name=“save\u changes\u submit”。此表单未在$\u POST中分配。我在这里干什么?我在这里犯了什么html错误吗?我怎样才能从这次提交中获得$\u POST价值 echo '<form action="" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br
echo '<form action="" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br><input type="submit" value="Search Product" name="id_number_submit">';
if (isset($_POST['id_number_submit'])) {
$id_number = $_POST['id_number'];
$q = mysqli_query($conn, "SELECT * FROM product WHERE id='$id_number'");
$row = mysqli_fetch_array($q);
if (empty($row)) {
echo "Error: Invalid product id";
}else{
$product_name = $row['product_name'];
$product_des = $row['product_des'];
$product_price = $row['product_price'];
echo '<br><br><input type="number" name="product_price" value="'.$product_price.'">';
echo '<br><br><input type="text" name="product_name" value="'.$product_name.'">';
echo '<br><br><textarea rows="8" cols="100" name="product_des">'.$product_des.'</textarea><br><input type="submit" value="Save Changes" name="save_changes_submit">';
if (isset($_POST['save_changes_submit'])) {
echo $c_product_price = $_POST['product_price'];
echo $c_product_name = $_POST['product_name'];
echo $c_product_des = $_POST['product_des'];
}
}
}
echo '</form>';
echo'ID Number:
;
如果(isset($_POST['id\u number\u submit'])){
$id\u number=$\u POST['id\u number'];
$q=mysqli\u查询($conn,“从产品中选择*,其中id=“$id\u编号”);
$row=mysqli\u fetch\u数组($q);
如果(空($行)){
echo“错误:无效的产品id”;
}否则{
$product_name=$row['product_name'];
$product_des=$row['product_des'];
$product_price=$row['product_price'];
回音“
”;
回音“
”;
回音“
”.$product_des.
”;
如果(isset($\u POST['save\u changes\u submit'])){
echo$c_产品_价格=$_贴子[‘产品_价格’];
echo$c_product_name=$_POST['product_name'];
echo$c_product_des=$_POST['product_des'];
}
}
}
回声';
这是因为根据此条件如果(设置($\u POST['id\u number\u submit'])
!当您单击save\u changes\u submit
submit按钮时,POST数据中没有包含id\u number\u submit
。因此它不会运行您的条件。更改条件的解决方案
echo '<form action="" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br><input type="submit" value="Search Product" name="id_number_submit">';
if (isset($_POST['id_number_submit'])) {
$id_number = $_POST['id_number'];
$q = mysqli_query($conn, "SELECT * FROM product WHERE id='$id_number'");
$row = mysqli_fetch_array($q);
if (empty($row)) {
echo "Error: Invalid product id";
}
else{
$product_name = $row['product_name'];
$product_des = $row['product_des'];
$product_price = $row['product_price'];
echo '<br><br><input type="number" name="product_price" value="'.$product_price.'">';
echo '<br><br><input type="text" name="product_name" value="'.$product_name.'">';
echo '<br><br><textarea rows="8" cols="100" name="product_des">'.$product_des.'</textarea><br><input type="submit" value="Save Changes" name="save_changes_submit">';
}
}
if (isset($_POST['save_changes_submit'])) {
$c_product_price = $_POST['product_price'];
$c_product_name = $_POST['product_name'];
$c_product_des = $_POST['product_des'];
echo $c_product_price;
echo $c_product_name;
echo $c_product_des;
}
echo '</form>';
echo'ID Number:
;
如果(isset($_POST['id\u number\u submit'])){
$id\u number=$\u POST['id\u number'];
$q=mysqli\u查询($conn,“从产品中选择*,其中id=“$id\u编号”);
$row=mysqli\u fetch\u数组($q);
如果(空($行)){
echo“错误:无效的产品id”;
}
否则{
$product_name=$row['product_name'];
$product_des=$row['product_des'];
$product_price=$row['product_price'];
回音“
”;
回音“
”;
回音“
”.$product_des.
”;
}
}
如果(isset($\u POST['save\u changes\u submit'])){
$c_product_price=$_POST['product_price'];
$c_product_name=$_POST['product_name'];
$c_product_des=$_POST['product_des'];
echo$c_产品价格;
echo$c_产品名称;
echo$c_产品设计;
}
回声';
因为您没有指定表单要处理的php文件。请更改表单的操作,如下所示:
echo '<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br><input type="submit" value="Search Product" name="id_number_submit">';
echo'if条件if(isset($\u POST['save\u changes\u submit'])
在if(isset($\u POST['id\u number\u submit'])内。
。这就是问题所在。给你
<?php
echo '<form action="" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br><input type="submit" value="Search Product" name="id_number_submit">';
if(isset($_POST['id_number_submit'])) {
$id_number = $_POST['id_number'];
$q = mysqli_query($conn, "SELECT * FROM product WHERE id='$id_number'");
$row = mysqli_fetch_array($q);
if (empty($row)){
echo "Error: Invalid product id";
}else{
$product_name = $row['product_name'];
$product_des = $row['product_des'];
$product_price = $row['product_price'];
echo '<br><br><input type="number" name="product_price" value="'.$product_price.'">';
echo '<br><br><input type="text" name="product_name" value="'.$product_name.'">';
echo '<br><br><textarea rows="8" cols="100" name="product_des">'.$product_des.'</textarea><br><input type="submit" value="Save Changes" name="save_changes_submit">';
}
}
if(isset($_POST['save_changes_submit'])) {
echo $c_product_price = $_POST['product_price'];
echo $c_product_name = $_POST['product_name'];
echo $c_product_des = $_POST['product_des'];
}
echo '</form>';
?>
为什么要分配和打印?只需打印出来,无需分配…我正在运行echo来测试是否收到了$\u POST值