在页面test.php中我有一个类似
的表单<form action="test.php" method="post">
<a href="test.php?id=5" name="test_name1">click me</a>
<a href="test.php?id=5" name="test_name2">click me</a>
<a href="test.php?id=5" name="test_name3">click me</a>
</form>
如果有人点击这些链接,那么我必须查看类似
的内容if (isset($_POST['test_name1'])) {
//do my work
}
但这不适合我。我必须检查所有链接,该表格有大约10个这样的链接。请帮忙
答案 0 :(得分:1)
这不是表单的工作方式。您在GET
表单中有POST
个链接。
示例POST
(script.php
):
<?php
if( isset($_POST[submit]) ) {
//do
}
?>
<form method="post" action="script.php">
<input type="submit" name="submit" />
</form>
示例GET
(script2.php
):
<?php
if( isset($_GET[id]) ) {
//do
}
?>
<a href="script2.php?id=2">Click me</a>
这可能更像是你想要完成的事情(script3.php
):
<?php
if( isset($_GET[id]) && isset($_GET[name]) ) {
//do
}
?>
<a href="script3.php?id=5&name=test_name1">click me</a>
答案 1 :(得分:1)
看起来像你想要的复选框,你可以试试
<form method="post">
<input type="checkbox" name="check_list[]" value="value 1">value one<br>
<input type="checkbox" name="check_list[]" value="value 2">value tow<br>
<input type="checkbox" name="check_list[]" value="value 3">value three<br>
<input type="submit" />
</form>
<?php
if(!empty($_POST['check_list'])) {
foreach($_POST['check_list'] as $check) {
echo $check;
}
}
?>
答案 2 :(得分:0)
$ _ POST 方法仅适用于 FORM 元素,不适用于 Anchor 元素。但在您的情况下,您有 Anchor 元素链接到php文件。您可以检查 isset 的ID,但不能检查 锚点 元素名称。 id 也会通过以下方式进行检查:
if(isset($_GET['id'])) {
}
答案 3 :(得分:0)
您不能将链接用作表单参数...您可以做的是创建隐藏值并具有三种不同的形式。虽然这种方法使用按钮,当使用$ _POST而不是$ _GET(显示链接中的数据)时,传输的数据不太明显。
<form action="test.php" method="post">
<input type="hidden" name="id" value="5">
<input type="input" name="test_name1">
</form>
<form action="test.php" method="post">
<input type="hidden" name="id" value="5">
<input type="input" name="test_name2">
</form>
<form action="test.php" method="post">
<input type="hidden" name="id" value="5">
<input type="input" name="test_name3">
</form>
然后在页面顶部,您可以检查...
<?php
if(isset($_POST['test_name1'])){
//they clicked button 1.
}
?>
如果您想从仅使用链接获取数据,您可以执行此操作并使用$ _GET检索数据...
<a href="test.php?id=5">click me</a>
<?php
if(isset($_GET['id']){
//they clicked your link.
}
?>