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

时间:2017-03-04 05:10:39

标签: javascript php

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

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

3 个答案:

答案 0 :(得分:0)

你可以轻松地通过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文件中回显的值。

答案 1 :(得分:0)

如果你想在你的HTML元素中使用onclick()方法,那么你必须编写你的方法是javascript并对PHP进行AJAX调用。这是使用php和javascript执行此操作的一种简单方法。为此,请参阅PHP的javascript和ajax。
但是如果你不想使用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标记中的onclick()等js直接调用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函数位于同一页面中,并且您希望在同一文件中使用相同的文件和超链接调用该函数。 (根据您的问题

答案 2 :(得分:-1)

你仍然需要让javascript处理异常,因为php没有onclick。

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