请检查代码的最后一部分,输入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><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>';
因为您没有为表单指定要处理的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">';
这是因为根据这个条件if(设置($\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>';
if条件if(isset($_POST[save_changes_submit]))
在if(isset($_POST[id_number_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>';
?>
问题内容: 使用Java5,我们可以编写: 或仅在for循环中使用Iterable。这非常方便。 但是,您不能像这样编写可迭代的通用方法: 并使用数组调用它,因为它不是Iterable: 我想知道这个设计决定背后的原因。 问题答案: 数组可以实现接口(和)。那为什么不呢?我猜想Iterable强制添加方法,而数组不实现方法。甚至不覆盖。无论如何,应将引用数组视为不理想的-使用。如dfa注释所示,将
问题内容: 我以前使用过这些,但是我想知道它叫什么以及是否有规范吗? 我在HTML 4.01 Spec中 找不到它,导致各种Google结果只将其称为“数组”,以及许多处理表单数据的PHP示例。 问题答案: 在PHP.net的此页面的注释中有一些引用和指针: 托斯滕说 “ XHTML规范的兼容性指南的C.8节适用于将name属性用作片段标识符。如果您检查DTD,则会发现’name’属性仍被定义为表
使用按钮提交时它不会发送任何输入。据我所知,提交块(isset...)应该没问题。但是变量名称、kuerzel和网站中没有任何内容。 有人能帮我吗? 不知道该写些什么。。。 Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod temor invidunt ut labore et dolor
问题内容: 我有这样的表格 我想要的$ _POST输出是一个像 我知道我可以做类似name =“ levels [1] [build_time]”之类的事情,但是由于这些元素是动态添加的,因此很难添加索引。还有其他办法吗? 编辑: 按照建议,我更改了表格。我现在也包含了我的整个HTML,因为我认为这里缺少一些内容。我的HTML现在: 我现在得到的输出是: 编辑2: 根据您的编辑建议,我编辑了表单并
这个问题看起来像是重复的,但实际上不是。只是一个不断重复的微小差异。git一直告诉我:“请告诉我你是谁”,即使在设置之后。当我运行时,这就是我得到的…… 但是当我运行时,它会给我所有的详细信息… 我已经更改了我的姓名、电子邮件和代理,但当我运行命令时,它们看起来很好,即使在.gitconfig文件中,我也可以看到设置的值。可能缺少什么,因为我根本无法promise。每次它总是问我是谁? @sheu
问题内容: 我想12”3在我的输入标签值中显示 我写这个: 但这是不对的 为什么呢? PS:我必须转移”到",或更改”到’?我不喜欢 问题答案: HTML根本没有像其他语言一样具有转义序列。在HTML属性值中,唯一的特殊字符是,取决于引号”或’。唯一使用这些字符的是字符引用: 一些作者使用字符实体引用“ ;”来编码双引号(”)的实例,因为该字符可用于定界属性值。 或者,您使用单引号,则无需编码双引