0

バナーでその1回クリックすると、PHP関数がそれをカウントします。1回のクリックだけをカウントするか、ユーザーが1回以上クリックする時間がない、より高速なリダイレクトを作成するための解決策はありますか?

これは私の機能です:

function wp125_adclick() {
    if (isset($_GET['adclick']) && $_GET['adclick'] != "" && ctype_digit($_GET['adclick'])) {
    $theid = $_GET['adclick'];
    global $wpdb;
    $adtable_name = $wpdb->prefix . "wp125_ads";
    $thead = $wpdb->get_row($wpdb->prepare(
        "SELECT target FROM {$adtable_name} WHERE id = %d",
        $theid
    ));
    $theid = $wpdb->escape($theid);
    $update = "UPDATE ". $adtable_name ." SET clicks=clicks+1 WHERE id='$theid'";
    $results = $wpdb->query( $update );
    header("Location: $thead->target");
    exit;
    }
}
4

1 に答える 1

2

セッション変数を使用してクリック数をカウントできます。したがって、複数のクリックをカウントすることを避けることができます。

if(!isset($_SESSION['click_already_saved'])) {
    $update = "UPDATE ". $adtable_name ." SET clicks=clicks+1 WHERE id='$theid'";
    $results = $wpdb->query( $update );
    $_SESSION['click_already_saved']=true;
}
于 2013-02-10T08:14:03.170 に答える