通过html超链接进行POST

时间:2014-12-09 12:23:57

标签: php html

我有一个如图所示的超链接:

<div style="clear:both"> <a color="grey" accesskey=""style="float: right" href="newbattle.php? userid= <?php echo $id0; ?>"> [<font color="grey">Attack</font>]</a><br></div>  <br>

是否可以仅使用php来传输POST数据?我想把这个

<input type="hidden" name="test" value="<?php  echo $number;?>

所以我可以在另一页上$_POST['test']获取$number。我可以切换到正常形式,但我真的很喜欢我拥有的

6 个答案:

答案 0 :(得分:0)

不,那是不可能的。如果您想提交POST请求,则应通过<form>并提交。

答案 1 :(得分:0)

除非您使用JavaScript捕获点击事件并模拟点击提交按钮,否则您无法通过超链接发布。

但我认为更好的方法是制作一个实际的提交按钮。使用一点CSS,您可以设置该按钮的样式,使其看起来像是一个超链接。这样,如果CSS失败,你仍然有一个工作按钮,而如果发生JavaScript问题,你就会出现意外行为的功能失调链接。

&#13;
&#13;
input[type=submit] {
  display: inline;
  border: none;
  background-color: transparent;
  color: blue;
  cursor: pointer;
}

input[type=submit]:hover {
  text-decoration: underline;
}
&#13;
<form action="otherpage.php" method="POST">
   <input type="hidden" name="test" value="<?php  echo $number;?>">
   <input type="submit" value = "Look, I'm a link!">
</form>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

链接会将用户重定向到另一个页面,其目的不是用于获取/发布请求。

如果您想在点击时发送帖子请求,可以使用表单中的提交按钮来完成。例如,

<form action="another_page.php" method="POST">
   <input type="hidden" name="test" value="<?php  echo $number;?>
   <input type="submit" />
</form>

将按钮设置为超链接样式,它会按预期发送帖子请求。

答案 3 :(得分:0)

您可以使用表单执行此操作。

当用户点击链接时,表单将使用“test”变量和“userid”变量提交。

以下是代码:

<form method="post" action="newbattle.php" id="myForm">
    <div style="clear:both">
        <a color="grey" accesskey="" style="float:right;" href="" onclick="javascript:document.myForm.submit(); return false;">[<font color="grey">Attack</font>]</a>
        <br/>
    </div>
    <br/>
    <input type="hidden" name="userid" value="<?php echo $id0; ?>" />
    <input type="hidden" name="test" value="<?php echo $number; ?>" />
</form>

答案 4 :(得分:0)

对于我的具体问题,这就是我最终要做的事情。

href="newbattle.php?userid= <?php echo $id0; ?>&num=<?php echo $number; ?>"

我将$number添加到超链接上,然后在下一页用$_GET检索它

答案 5 :(得分:0)

如果您想通过test访问$_POST值,则必须使用以下格式:

<form action="another_page.php" method="POST">
   <input type="hidden" name="test" value="<?php  echo $number;?>
   <input type="submit" />
</form>

get.php:

<?php

$num = $_POST['test'];

echo $num;

?>