2017-03-25 9 views
0

Auf meiner Index-Seite ich eine Funktion bin Aufruf sieht es dies wie:Wie kann ich verhindern, dass meine Seite meine Funktionen wiederholt?

case 'deposit': 
     $balance = filter_input(INPUT_POST, 'deposit', FILTER_VALIDATE_FLOAT); 
     $accountID = filter_input(INPUT_POST, 'accountID', FILTER_VALIDATE_INT); 
     deposit($balance, $accountID); 
     break; 

Dies ist, was die Funktion zur Zeit tut: Ist die

function deposit($balance, $accountID) { 
    global $db; 
    $dquery = "UPDATE bankaccount SET balance = balance + :balance WHERE accountID = :accountID"; 
    try{ 
     $dStatement = $db-> prepare($dquery); 
     $dStatement->bindValue(':balance', $balance); 
     $dStatement->bindValue(':accountID', $accountID); 
     $dStatement->execute(); 
     $dStatement->closeCursor(); 

    }catch (Exception $e){ 
     $error_message = $e->getMessage(); 
     echo "error". $error_message; 
    } 

} 

Mein Problem der Index-Seite jedes Mal ist aktualisiert die Funktion läuft wieder Hinzufügen von mehr zu meiner Datenbank. Wie verhindere ich das?

+0

Die switch-Anweisung basiert auch auf Aktionen, die mit Schaltflächen auf der Hauptansichtsseite verbunden sind. Wenn Sie die Einzahlungsaktion "Einzahlung" drücken, erhalten Sie den Wert "Einzahlung". –

+0

Würde es sein, weil Geld fließt? Oder wäre das nicht zu bezwingen, weil wir keine Ahnung haben, was mit den 'Fall'-Pfandbränden passiert? – Xorifelse

Antwort

0

Sie auf eine andere Seite, nachdem die SQL-Abfragen umleiten fertig sind,

header('Location: https://www.yourdomain.com/nextPage.php'); 

Alternativ verwenden Sie Session-Variablen können Sie die URL und den Zeitstempel der letzten Besuch auf der Seite speichern. Wenn Sie sehen, dass der letzte Besuch vor nur 15 Minuten stattgefunden hat, können Sie entscheiden, die Funktion nicht erneut auszuführen.

0

Eine Möglichkeit, dies zu lösen ist, dass Ihre POST Anfragen eine Umleitung auf eine andere GET Ressource zurückgeben sollte den Location: Header, statt Rendern einen anderen HTML-Dokument verwenden.

Verwandte Themen