2016-09-23 6 views
1

私はPHPを使ってデータベースを変更します。私は公式を送った後に見たい結果。側面はリフレッシュされますが、変化はありません。もし私がf5を置くならば、すべては大丈夫です。それを修正する解決策はありますか?投稿後のPHPリフレッシュサイト

<form action="" method="Post"> 

    ........ 

if(isset($_POST["saveMetrics"])) 
{ 
    $_DB = new DBData(); 
    $_DB -> connect(); 
    $str = ""; 
    for ($i = 3; $i < count($_metricsFb); $i++) 
    { 
     if(isset($_POST[$_metricsFb[$i]['COLUMN_NAME']])) 
      $str=$str.$_metricsFb[$i]['COLUMN_NAME']."=1"; 
     else 
      $str=$str.$_metricsFb[$i]['COLUMN_NAME']."=0"; 
     if($i!=count($_metricsFb)-1) 
     { 
      $str=$str.","; 
     } 
    } 
    $queryCALL ="UPDATE t_user_metrics SET ".$str." WHERE id_user="; 

    $_DB -> setMetrics($_GET["client"],$queryCALL) ; 
    header("Location: dailyReport.php?client=".$_GET["client"]." success=true"); 
    $_DB ->disconnect();   
} 
    <div><input type="submit" class="button" name="saveMetrics" value="Save"></div>      
</form> 

私は5つの動作の経路があれば動作しません。

header('location:'.$_SERVER['PHP_SELF']); 

does not works too! 私は彼の親をリフレッシュする別のウィンドウを開くことが可能かもしれません。しかし、より簡単な方法でなければなりません。誰かアイデア?

+0

f5またはctrl + f5? ctrlの場合、キャッシュはあなたを混乱させており、おそらく 'Cache-Control:no-cache'を追加するべきです。 –

+0

あなたが何を求めているか分かりません。ページを表示している同じスクリプトにフォームを送信しますか?もしそうなら、あなたは '' form method = "post" action = "<?php echo htmlspecialchars($ _ SERVER [" PHP_SELF "]);?>"> ' – SciGuyMcQ

+0

f5で十分ですが、もう一度(悪いですが、私がURLに入力する理由はありません。) – nicoschuck

答えて

0

header("Location: yoururl.php?success=true"); 

たぶん、このようにそれを試してみてください。コードを前に移動してみてください。

if(isset($_POST["saveMetrics"])) 
{ 
    $_DB = new DBData(); 
    $_DB -> connect(); 
    $str = ""; 
    for ($i = 3; $i < count($_metricsFb); $i++) 
    { 
     if(isset($_POST[$_metricsFb[$i]['COLUMN_NAME']])) 
      $str=$str.$_metricsFb[$i]['COLUMN_NAME']."=1"; 
     else 
      $str=$str.$_metricsFb[$i]['COLUMN_NAME']."=0"; 
     if($i!=count($_metricsFb)-1) 
     { 
      $str=$str.","; 
     } 
    } 
    $queryCALL ="UPDATE t_user_metrics SET ".$str." WHERE id_user="; 

    $_DB -> setMetrics($_GET["client"],$queryCALL) ; 
    header("Location: dailyReport.php?client=".$_GET["client"]." success=true"); 
    $_DB ->disconnect();   
} 

... your <form> and other stuff 
+0

が見つかるはずです。ありがとう!どのような愚かな間違いxD – nicoschuck

0

headerでURLを変更してみてください。あなたは更新スクリプトの実行前にデータを表示している、おそらく

if (isset($_GET['success'] && $_GET['success']=="true") { 
    echo "Your data has changed."; 
} 
+0

はい私は公式の最後にしました。それは動作しません。別の場所を知っていますか? – nicoschuck

+0

@nicoschuck元のコメントにコードを追加しました。 –

+0

私は彼がヘッダーを変更しないでください問題を参照してください。私は多分あなたが問題を理解するいくつかのコードを追加しました。私が定型文を送ると、URLにある – nicoschuck