Ich stehe hier vor einem seltsamen Problem, ich hatte ein Stück Code, der bis gestern gut funktionierte. Plötzlich hat meine Taste aufgehört, POST Request zu machen.
Unten ist der Beispielcode. Wenn ich auf den Knopf btnsubmit
klicke, wird die Seite zu view_teacherupdate.php umgeleitet, aber es wird nicht "button submited" gedruckt;
view_teacherUpdate.php
%Vor% Ich habe error_reporting(E_ALL);
aktiviert, bekomme aber keinen Fehler oder eine Warnung.
Sitzung ist auf beiden Seiten aktiviert.
jede Hilfe wäre willkommen. Vielen Dank im Voraus.
Vollständiger Code:
ViewTeacherUpdatePage:
%Vor%ViewTeacherPage (Schaltfläche wird geklickt)
%Vor%Der Code, den Sie eingereicht haben, enthält 2 Submit-Buttons (1 & lt; Button & gt ;, 1 & lt; Eingabetyp="submit" & gt;). Je nachdem, welche Taste gedrückt wurde, wird tatsächlich ein anderer Wert übergeben fügt nur die Schaltfläche (oder den Elementtyp = submit) hinzu, die tatsächlich auf die POST-Daten geklickt wurde (was aus Sicht der Benutzeroberfläche Sinn macht)
Abhängig von der gedrückten Taste habe ich entweder
%Vor%oder
%Vor%("Verzenden" ist die niederländische Übersetzung für Send, da der Browser das übersetzt)
Könnte es also sein, dass Sie zufällig den falschen Knopf gedrückt haben?
%Vor%Ich vermute, dass mit der erforderlichen Datei %code% etwas nicht in Ordnung war. Hast du diese Datei kürzlich geändert? Es kann auch beschädigte Datenbanktabellen für die Benutzerdaten geben, wenn Sie überprüfen möchten, ob der Benutzer angemeldet ist. Überprüfen Sie Ihre Datenbank und die Hostprotokolldateien auf Fehler.
Dinge zu tun, um dies zu debuggen
Setzen Sie %code% an die Spitze und generieren Sie dann eine Division durch Null-Warnung und werfen Sie einen benutzerdefinierten Fehler, um zu sehen, ob PHP-Fehler funktionieren:
%Vor%Wenn Sie die Warnung und den fatalen Fehler sehen, werden Fehler angezeigt und Sie können fortfahren. Versuchen Sie auch, einen benutzerdefinierten Fehler sofort nach dem %code% ; Vielleicht gibt es einen anderen Code in %code% , der %code% deaktiviert.
Platzieren Sie die POST-Erkennung direkt nach dem %code%
%Vor%Wenn Sie die Nachricht nicht sehen, wird das PHP-Skript überhaupt nicht ausgeführt und möglicherweise gibt es einige Einschränkungen für den Server-Benutzerpool für den aktuellen Benutzer, der das PHP-Skript %code% unter dieser bestimmten Site ausführt. Wenn Sie nach dem Senden des Formulars %code% sehen, ist das Formular OK und das Problem liegt irgendwo bei den Benutzerverwaltungsaufrufen %code% oder %code% . Vielleicht gibt es etwas, das ein %code% auslöst. Um dies zu überprüfen, versuchen Sie, nach der Prüfung etwas zu drucken und rufen Sie die Funktion %code% wie folgt auf:
%Vor%Wenn Sie die Nachricht nicht sehen, dann haben Sie das Problem und verstecken sich in der Benutzerverwaltungsklasse; an seinem Code oder Logik oder vielleicht einige Daten Korruption beim Versuch, Benutzerinformationen aus der Datenbank zu lesen.
Wenn Sie die Nachricht "Benutzer ist angemeldet" sehen, setzen Sie ein Post-Debugging oben auf %code% wie folgt:
%Vor%Damit erfahren Sie genau, was das Array %code% enthält, wenn das Skript POST-Daten empfängt.
Überprüfen Sie dann die POST-Daten und aktualisieren Sie Ihre Frage mit dem Ergebnis!
Ich denke, in Ihrer %code% haben Sie vergessen, das %code% -Tag vor dem %code% -Element zu schließen.
Ihre %code% -Datei. In dieser Datei Letzte drei Zeile für HTML-Code ist korrekt. Aber Sie können diesen Code in PHP-Tag setzen. Also, Erster geschlossener PHP-Tag. Nachdem Sie Ihren HTML-Code eingegeben haben.
%Vor%Um dies zu ersetzen
%Vor%Ich stehe hier vor einem seltsamen Problem, ich hatte ein Stück Code, der bis gestern gut funktionierte. Plötzlich hat meine Taste aufgehört, POST Request zu machen. Unten ist der Beispielcode. Wenn ich auf den Knopf %code% klicke, wird die Seite zu view_teacherupdate.php umgeleitet, aber es wird nicht "button submited" gedruckt;
%Vor%view_teacherUpdate.php
%Vor%Ich habe %code% aktiviert, bekomme aber keinen Fehler oder eine Warnung.
Sitzung ist auf beiden Seiten aktiviert.
jede Hilfe wäre willkommen. Vielen Dank im Voraus.
Vollständiger Code:
ViewTeacherUpdatePage:
%Vor%ViewTeacherPage (Schaltfläche wird geklickt)
%Vor% Ich denke, in Ihrer ViewTeacherPage(where button gets clicked)
haben Sie vergessen, das <?php
-Tag vor dem <form>
-Element zu schließen.
Ihre ViewTeacherPage.php
-Datei. In dieser Datei Letzte drei Zeile für HTML-Code ist korrekt. Aber Sie können diesen Code in PHP-Tag setzen. Also, Erster geschlossener PHP-Tag. Nachdem Sie Ihren HTML-Code eingegeben haben.
Um dies zu ersetzen
%Vor% Ich vermute, dass mit der erforderlichen Datei includewisdom/class.user.php
etwas nicht in Ordnung war. Hast du diese Datei kürzlich geändert? Es kann auch beschädigte Datenbanktabellen für die Benutzerdaten geben, wenn Sie überprüfen möchten, ob der Benutzer angemeldet ist. Überprüfen Sie Ihre Datenbank und die Hostprotokolldateien auf Fehler.
Dinge zu tun, um dies zu debuggen
Setzen Sie error_reporting(E_ALL);
an die Spitze und generieren Sie dann eine Division durch Null-Warnung und werfen Sie einen benutzerdefinierten Fehler, um zu sehen, ob PHP-Fehler funktionieren:
Wenn Sie die Warnung und den fatalen Fehler sehen, werden Fehler angezeigt und Sie können fortfahren.
Versuchen Sie auch, einen benutzerdefinierten Fehler sofort nach dem $user_home = new USER();
; Vielleicht gibt es einen anderen Code in class.user.php
, der error_reporting
deaktiviert.
Platzieren Sie die POST-Erkennung direkt nach dem error_reporting(E_ALL);
Wenn Sie die Nachricht nicht sehen, wird das PHP-Skript überhaupt nicht ausgeführt und möglicherweise gibt es einige Einschränkungen für den Server-Benutzerpool für den aktuellen Benutzer, der das PHP-Skript view_teacherupdate.php
unter dieser bestimmten Site ausführt.
Wenn Sie nach dem Senden des Formulars POST btnUpdateNew exists
sehen, ist das Formular OK und das Problem liegt irgendwo bei den Benutzerverwaltungsaufrufen new USER();
oder $user_home->is_logged_in()
.
Vielleicht gibt es etwas, das ein exit
auslöst. Um dies zu überprüfen, versuchen Sie, nach der Prüfung etwas zu drucken und rufen Sie die Funktion $user_home->is_logged_in()
wie folgt auf:
Wenn Sie die Nachricht nicht sehen, dann haben Sie das Problem und verstecken sich in der Benutzerverwaltungsklasse; an seinem Code oder Logik oder vielleicht einige Daten Korruption beim Versuch, Benutzerinformationen aus der Datenbank zu lesen.
Wenn Sie die Nachricht "Benutzer ist angemeldet" sehen, setzen Sie ein Post-Debugging oben auf view_teacherupdate.php
wie folgt:
Damit erfahren Sie genau, was das Array $_POST
enthält, wenn das Skript POST-Daten empfängt.
Überprüfen Sie dann die POST-Daten und aktualisieren Sie Ihre Frage mit dem Ergebnis!