如何通过超文本链接调用php函数

问题描述:

我想调用一个PHP函数,在同一页面上点击超链接(带有<a>标签的文本)时传递参数,即href='#' onclick='loadpic($id)如何通过超文本链接调用php函数

其中$id是要传递给PHP函数的变量。

+0

远程过程调用(RPC)? https://en.wikipedia.org/wiki/Remote_procedure_call – xFighter

你可以很容易地通过ajax来做到这一点。在JavaScript中创建一个loadpic函数,然后通过ajax将$ id传递给php文件,并在获得结果时执行某些操作。

你的JavaScript文件应该看起来像这 -
(请确保您插入您的索引文件的链接的jQuery)

function loadpic(id_param){ 
    $.post("filename.php", 
    { 
      id: id_param 
    }, 
    function(data){ 
     alert("Data received:" + data); 
    }); 
}; 

的功能(数据)的数据参数将是值你已经在php文件中回应。

+0

注意,'jquery'标签不会出现在问题中。 – guest271314

+0

在jQuery中实现一些东西肯定比js容易。 user2599097不知道答案,并期望它在js中,这就是为什么没有这样的标签(我猜) –

+0

_“在jQuery中实现某些东西肯定比js更容易。”_?这是如何确定的? – guest271314

您仍然必须让javascript处理异常,因为php没有onclick。

onClick=\"loadpic("'.$id.'");"\ 
//this will only send a php variable javascript will still have to loadpic(); 

如果你想使用onclick()方法在你的HTML元素,那么你必须写你的方法是JavaScript使一个AJAX调用PHP。这是一个简单的方法来做到这一点使用PHP和JavaScript。为此,请参阅javascript和ajax与PHP。
但是,如果你不想使用JavaScript,那么这里是一个简单的方法和非常简单的代码。

<?php 
if(isset($_GET['myMethod'])){ 
    myMethod($_GET['id']); 
} 
function myMethod($id){ 
    echo $id."<br>"; 
} 
?> 

<?php 
$myId = 4; 
?> 
<a href="index.php?id=<?php echo $myId ?>&myMethod" >MyLink</a> 

注:将此代码复制并粘贴到一个名为index.php因为通知的超链接标签及其属性href="index.php"
另外请注意,您不能从HTML标记中使用js如onclick()直接调用php方法。你应该使用AJAX或其他东西。但使用上述演示代码,您可以轻松地使用超链接标记调用myMethod()这是一种PHP方法。
你的情况:

<?php 
if(isset($_GET['call_loadpic'])){ 
    loadpic($_GET['id']); 
} 
function loadpic($id){ 
    echo "My loadpic method has been called! and the id is".$id."<br />"; 
} 
?> 
<!-- your other codes --> 

<?php 
$id = 4; 
?> 
<a href="this-same-file-name.php?id=<?php echo $id ?>&call_loadpic" >MyLink</a> 

这是因为你的PHP函数是在同一个页面,你要调用使用相同的文件和超链接在同一个文件的功能。 (根据您的问题