2016-03-28 8 views
0

アクション文字列[some_function]を持つページを呼び出すと、ページをリフレッシュすると同じクエリ文字列でページが再度読み込まれることに気づきます。私はunset($_GET)または$_GET[action'] = ''のように、ページをリフレッシュする前に、そのクエリ文字列をクリアするためにページPHPで何もできません。プログラムでクエリ文字列を変更して次回のリフレッシュで関数を再度実行できない方法はありますか?クエリ文字列のクリア

+0

それが再び実行されている場合、あなたの関数は、それが聞こえる、問題が発生する場合は提出 – RiggsFolly

+0

を処理するために別々のスクリプトではなく、同じスクリプトを使用してですPOSTのように、アクションはクエリ文字列でGETよりも適切かもしれません。 –

答えて

2

クエリ文字列の変数で必要な処理を行った後、URLからストリップされたクエリ文字列を使用して同じページにリダイレクトし直します。

最初にロードするときに(クエリ文字列で)ページに何かを表示する前に、これを行う必要があることに注意してください。

ここではそれがどのように見えるかの簡単なバージョン...

<?php 

if (isset[$_GET['action']) 
{ 
    // Process your query string here 

    $uri = $_SERVER["REQUEST_URI"]; // get current page URL 
    $uri = strtok($uri, '?'); // remove query string 
    header("Location: {$uri}"); // redirect 

    exit; 
} 

// Display the page here