2012-04-11 7 views
4

ich diesen Code bin mit ...PHP Redirect nach Datenbank zu veröffentlichen

<?php 
if (isset($_POST['submitButton'])) { 
mysql_query("UPDATE notes SET Note=('$_POST[note]') 
WHERE UserID='19'"); 

mysql_close($con); 
header('Location: editrem3.htm'); //clears POST 
} 
?> 

Wie leite ich die Seite, nachdem der Benutzer auf klickt einreichen und die Daten bekannt gegeben worden ist?

+5

Funktioniert es nicht so, wie Sie es bereits tun? –

+0

uhhhhhhm ist das nicht, was das macht? – Rooster

+0

nein es wird nicht umgeleitet – user990175

Antwort

2

Stellen Sie zunächst sicher, dass Sie in den if() Zustand durch echo etwas in den if() Block eingeben.

Wenn es richtig funktioniert, stellen Sie sicher, dass Sie nicht gesendet haben, bevor der header() ausgeführt wird. Denn wenn Sie in einer PHP-Datei header() verwenden, dürfen davor KEINE anderen Ausgabeanweisungen vorhanden sein. Also, überprüfen Sie vor jedem HTML-Code oder echo s.

Dann, wenn Sie sicher sind, dass header() ausgeführt wird, und immer noch es nicht umleiten, stellen Sie sicher, dass die Zieldatei vorhanden ist.

Extra: Fügen Sie IMMER exit() direkt nach header() Redirects. Andernfalls wird der Code weiterhin ausgeführt und kann Ihre sensiblen Daten offenlegen.

+0

Ich habe es jetzt funktioniert.Ich hatte den PHP-Code nicht ganz oben auf der Seite, ich hatte das Tag davor. Also alles Gute jetzt danke. – user990175

+0

Sie haben Recht, wenn Sie Header aufrufen, können Sie nicht, weil Header, die wir bereits gesendet haben, ich denke, Sie sollten einige Fehler auf dem Bildschirm gehabt haben (vorausgesetzt, sie wurden nicht unterdrückt oder so). –

1

Die Verwendung des relativen Pfads zur Datei verursacht wahrscheinlich Probleme. Versuchen Sie es mit dem vollständigen Pfad (auch wahrscheinlich außerhalb der if {} würde mehr Sinn machen).

PHP den relativen Pfad zu analysieren, möglicherweise in der Lage, aber the w3 spec explicitly states to use absolute URIs

bearbeiten: Um dies näher auszuführen, einen relativen Pfad weg für Umleitung zu einem Browser Gabe spielt mit dem Feuer. Der Browser könnte denken, dass er weiß, wo er sich in der Hierarchie Ihrer Website befindet, aber er befindet sich möglicherweise an einer anderen Stelle.

Auch wenn Sie nicht eine 404-Seite oder etwas ähnliches bekommen, dann ist die relative Pfad könnte nicht Ihr Problem sein, aber es könnte Sie später auf die Straße hinunter

+0

Eigentlich relativer Pfad hat nichts mit PHP zu tun, es ist die Verantwortung des Kunden zu – galymzhan

+0

@galyymzhan Griff umleitet - Der relative Pfad unterschiedlich interpretiert von den verschiedenen Browsern werden kann, ist ihm die Entwickler-Verantwortung machte die Wege so weit wie möglich zu kontrollieren. Wenn Sie sich auf PHP beziehen, der den Pfad analysiert, dann war vielleicht meine Verwendung von "parse" falsch - ich meinte das nicht wörtlich. – orourkek

0

Verwendung Meta Umleitungen helfen, etwas wie

<meta http-equiv="refresh" content="0; url=http://example.com/"> 

aber man konnte mit mir so etwas wie

<meta http-equiv="refresh" content="0; url=index.php"> 

funktioniert gut tun