0

PHP-FUNCTIONPHP はサーバー側のみであり、リンクから直接呼び出すことは不可能であることを知っています。

でも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

クエリ文字列を使用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 に答える
0

しかし、私はjavascript\jquery\ajaxを使用できません

答えはNo、できません。唯一のオプションは、PHP 出力を生成する新しいページにボタンをリンクすることです。PHP 自体は、クライアント側で何を行っているかについては何も認識していません。また、リンクをクリックしたかどうかについても、PHP は既にその仕事を終えてしまっているため、その時点では PHP 関数を実行できません。

于 2013-09-05T07:58:15.700 に答える