PHP-从链接按钮调用函数


PHP - Call a function from a linkutton

我知道PHP只是服务器端,不可能从链接直接调用PHP-FUNCTION

但是我不能使用JavaScript''jQuery''Ajax

这是我在main.php 中的代码

function refreshgt2(){
    for($l=1; $l!=$max_cicle; ++$l ) {
        $data->query("INSERT IGNORE INTO `table` (`name1`,`name1`,`anothername`,`dog`) VALUES ('ME','".$img[$l]."','".$l."','".$hello[$l]."')");        
    }       
}

和html,

<a href="#" >Do something</a>

我刚刚尝试过这个需要一个调用php函数的按钮,但对我不起作用

有人能帮我吗?

我需要一些只有当我按下链接''按钮''图像时才能加载功能的东西

这应该可以工作。它提供了一个按钮,支持多功能调用,并且是纯php+html

<form action="<?php $_PHP_SELF ?>" method="post">
<input type="hidden" name="function" value="refreshgt2">
<input type="submit">
</form>
<?php 
if($_POST!=null && array_key_exists('function', $_POST)){
    if(strcasecmp($_POST['function'],'refreshgt2')==0){
        for($l=1; $l!=$max_cicle; ++$l )
        {
            $data->query("INSERT IGNORE INTO `table` (`name1`,`name1`,`anothername`,`dog`) VALUES ('ME','".$img[$l]."','".$l."','".$hello[$l]."')");        
        }
    }else if(strcasecmp($_POST['function'],'some_other_function')==0){
        //do things
    }
}
?>

但我不能使用javascript''jquery''ajax

那么答案是No,你不能。唯一的选择是将您的按钮链接到一个新页面,该页面将生成PHP输出。PHP本身不知道你在客户端做什么,也不知道你是否点击了链接,因为PHP已经完成了它的工作,所以PHP函数在那个时候无法执行。

如果您不介意重定向

<a href="your_php_script.php" >Do something</a>

you_php_script.php

<?php
refreshgt2();

如果你不能使用javascript/ajax(为什么不呢?我们在2013年),你就不能动态刷新部分页面。你唯一的机会是调用这样的页面

<a href="my-script.php">Do something</a>

并且CCD_ 5在做了一些事情之后再次呈现该页面。

使用querystring,将html中的href设置为指向页面,并添加querystring参数,以便php可以决定执行哪个函数:

HTML

<a href='main.php?fn=some_function'>Do something<a/>

PHP

switch($_GET['fn']) {
case 'some_function':
    //call your function 
    break;
default:
    //Handle this
}

否则,重定向到另一个php脚本,就像前面提到的其他答案一样。