0

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

但我不能使用 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函数但对我不起作用的按钮。

有人可以帮助我吗?

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

4

5 回答 5

2

这应该有效。它提供了一个按钮,支持多个函数调用,是纯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
    }
}
?>
于 2013-09-05T08:24:21.703 回答
0

但我不能使用 javascript\jquery\ajax

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

于 2013-09-05T07:58:15.700 回答
0

如果您不介意重定向

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

you_php_script.php

<?php

refreshgt2();
于 2013-09-05T08:00:38.627 回答
0

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

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

然后my-script.php在做一些事情后再次呈现页面。

于 2013-09-05T08:00:55.353 回答
0

使用查询字符串,href在您的 html 中设置指向您的页面,并添加一个查询字符串参数,以便您的 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 脚本,就像提到的其他答案一样。

于 2013-09-05T08:05:15.803 回答