【发布时间】:2019-05-31 16:01:55
【问题描述】:
我无法从表单中检索 $_GET['id'] 或 $_GET['action'] 并在此页面中输入:
<?php
include "common.php";
var_dump($_GET['quantity']);
var_dump($_GET['action']);
var_dump($_GET['id']);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>es6.1.6</title>
<style type="text/css">
input {
margin: 10px;
}
</style>
</head>
<body>
<ul>
<?php
for($i=1; $i<=sizeof($names); $i++) {
echo "<form method='get' action='shop.php?action=add&id=$i'>";
echo "<li><a href='description.php?item=$i'> ",$names[$i],"</a></li>";
echo "<input type='number' name='quantity'>";
echo "</form>";
}
?>
</ul>
<br><br>
<form action="summary.php">
<input type="submit" value="Add to cart">
</form>
</body>
</html>
只有 $_GET['quantity'] 会在插入数字并按 Enter 键进入任何输入表单后设置
【问题讨论】:
-
@NigelRen 问题是未设置 action=add 以及 id=$i 我已编辑帖子
-
这两种形式有不同的
action...第一种shop.php?action=add&id=$i,而第二种summary.php不可能同时按预期工作,因为第一个加载shop.php而第二个加载@ 987654329@ -
我认为只会执行带有
action="summary.php"的第二个表单,因为它是唯一具有<input type="submit"...的表单,因为没有submit输入类型,所以不会执行第一个表单...所以你永远不会得到action和id值... -
如果您想从两种不同的表单中获取值,您可以在
action... 中提供相同的 php 文件,第一种形式:<form method='get' action='shop.php?action=add&id=$i'>,第二种形式:<form method='get' action='shop.php?summary=true'>...我建议使用POST方法而不是GET,因为您正在管理敏感数据... -
@Alessandro 我需要加载两个不同的页面,description.php 当单击列表中的任何项目并加载具有新值的同一个 shop.php 页面时。这可能吗?