1

我目前正在尝试创建一个超链接,它调用我所在的同一页面,但使用不同的 PHP 函数。这似乎是一个足够简单的解决方案,但是我不希望 URL 中显示任何信息。“帖子”似乎是最好的解决方案,但我找不到任何关于如何完成这项工作的结果。

<?php 
function myFirst(){ 
    echo 'The First ran successfully.'; 
}
function mySecond(){ 
    echo 'The Second ran successfully.'; 
}
?> 

<html><body> 

<?php 

if (isset($_GET['run'])){
    $linkchoice=$_GET['run'];
}else{
    $linkchoice='';
}

switch($linkchoice){ 
    case 'first' : 
        myFirst(); 
        break; 

    case 'second' : 
        mySecond(); 
        break; 

    default : 
        echo 'no run'; 
} 

?> 

<hr> 
<a href="?run=first">Link to First</a> 
<br/> 
<a href="?run=second">Link to Second</a> 
<br/> 
<a href="?run=0">Refresh No run</a> 

</body></html>
4

2 回答 2

4

如果你想通过在页面中按下某个东西来使用 POST,你可以使用 JS 将其转换为 POST 请求,或者只是提交一个表单。

假设你使用 jQuery

<a href="baba/was/here/this/is/the/url" onclick="manda_mi()">go somewhere</a>
<form id="koko" style="display:none" target="baba/was/here/this/is/the/url" method="post">
<input type="hidden" name="run" value="boo" />
</form>
...
...
function manda_mi(){
  $('#koko').submit();
}
于 2013-04-14T02:29:04.697 回答
0

如果您想避免使用 Javascript,您可以将链接包装在一个表单中,并将按钮设置为看起来像普通链接。

基本上:

<button type="submit" value="first" name="action">Link to First</button> 
<br/> 
<button type="submit" value="second" name="action">Link to Second</button> 
<br/> 
<button type="submit" value="0" name="run">Refresh no Run</button> 

然后只需检查按下了什么按钮。

虽然最简单的选择可能是 Javascript。

于 2013-04-14T02:37:21.937 回答