在page 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个这样的链接。请帮助
看起来像你想要的复选框,你可以试试
<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;
}
}
?>
表单不是这样工作的。在POST
表单中有一个GET
链接
样品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>
$_POST方法仅适用于FORM元素,而不适用于Anchor元素。但在您的情况下,您有锚元素链接到php文件。可以检查isset的id,但不能检查Anchor元素名。 id 还将检查:
if(isset($_GET['id'])) {
}
不能使用链接作为表单参数…你能做的就是创建隐藏值,并有三种不同的形式。虽然这个方法使用按钮,但当使用$_POST而不是$_GET时,传输的数据对用户来说不太明显,因为$_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.
}
?>