Allgemeine PHP Störungen
In diesem Tutorial werden wir etwas von den allgemeinen PHP Störungen, die und auftreten, wie man betrachten sie löst. Analysieren Sie StörungenEine Satzgliederung Störung tritt auf, wenn das Format Ihres PHP Codes falsch ist. Z.B. der folgende Code: <?php for($i=1;$i<10;$i++){$output = "Gegenwärtige
Wiederholung: ". $i. "< Br >" Echo
#; }? >
bringt eine Störung zurück, die zum folgenden ähnlich ist: Analysieren Sie Störung: analysieren Sie Störung, unerwartetes T_ECHO in c:\webserver\test2.php auf Linie 4 Diese Fehlermeldung wird gezeigt, weil es einen fehlenden Semicolon am Ende der dritten Linie des vorhergehenden Beispiels gibt. Die Anzeige erklärt Ihnen, daß PHP nicht den Echobefehl auf Linie 4 erwartete. Dieses ist, weil es dort erwartete, ein Semicolon am Zeilenenden 3 zu sein. Die meisten der Zeit, wenn Sie diese Störung erhalten, der Grund sind ein Problem mit der vorhergehenden Linie, wie dem fehlenden Semicolon wie im vorhergehenden Beispiel. Diese Störung tritt auch mit Klammern, {}, z.B. mit dem folgenden Code auf: <?php for($i=1;$i<10;$i++){$output = "Gegenwärtige
Wiederholung: ". $i. "< Br >";
if($output==5){Echo "dieses ist die fünfte Wiederholung";
}}}? >
welches die Fehlermeldung zurückbringt Analysieren Sie Störung: analysieren Sie unerwartete Störung, ‘}’ die in c:\webserver\test2.php auf Linie 8 Dieses wird durch eine schließende Extraklammer,}, auf Linie 8 verursacht. Obgleich es einfach ist, das Problem im vorhergehenden kurzen Block des Codes zu sehen, kann es mit dem schwierigen Code viel härter sein, der viele genistete Schleifen enthält oder, wenn Aussagen und es hart sind, die Öffnung Klammern zu den schließenden Klammern zusammenzubringen. Das Problem schnell finden, können Sie die Dreamweaver MX Balance Klammern benutzen befehlen, das im redigieren Menü ist. Sie können den Cursor an einer Linie des Codes setzen, vorwählen den Balance Klammer- Befehl, und er hebt alle Linien des Codes für diesen Block von der Öffnung Klammer zur schließenden Klammer hervor. Indem sie die Schichten Ihres Codes mit Balance überprüfen, befehlen die Klammern, können Sie schnell finden, wo es eine fehlende oder Extraklammer gibt. Unbestimmter Index oder VariableDieser Abschnitt beschreibt was zu tun, wenn Sie eine Anzeige auf Ihrer Webseite wie einem vom folgenden empfangen:
Diese Anzeigen verwirren häufig Leute, da sie wie Fehlermeldungen aussehen und sogar mit Code auftreten können, der tadellos arbeitet. Die Anzeigen sind nicht wirklich Störungen; stattdessen werden sie als "Nachrichten," klassifiziert, die Sie zu den Situationen alarmieren, in denen es nicht wirklich eine Störung gibt, die den Code vom Arbeiten stoppen würde. Was die Anzeige erklärt, sind Sie, daß das variable erwähnt nicht spezifisch mit einer PHP var Aussage definiert worden ist. Als Beispiel betrachten Sie die folgenden zwei Blöcke des Codes: <?php var #; $username = # ' ]; ? > und: <?php $username = # ' ]; ? > Beide Blöcke des Codes haben identische Resultate, aber der zweite Block des Codes holt oben eine Anzeige, die zu den ähnlich ist, die vorher gezeigt werden, weil wir nicht spezifisch das variable # definiert haben. PHP arbeitet, indem es zuerst Ihre Variablen definiert, denen Mittel es Sie alarmieren können, wenn Sie eine Variable in Ihrem Code fehlbuchstabieren, da die Variable neu und nicht vorher definiert ist. Es gibt zwei Lösungen zu diesem Problem. Das erste soll Ihren Code zurück durchlaufen und überprüfen, ob jede Variable spezifisch definiert wird. Die zweite Wahl soll Nachrichten von angezeigt werden stoppen, da sie häufig mehr Mühe sind, als sie Wert sind. Sie können dies tun, indem Sie den folgenden Code der Oberseite jeder Seite hinzufügen, die die Störung hat: < error_reporting?php (E_ALL u. ~ E_NOTICE); ? > Dieses erklärt PHP, alle Fehlermeldungen und Warnungen zu zeigen aber die Nachrichten nicht zu zeigen. Um dies dauerhaft zu tun, ändern Sie die error_reporting Einstellung in Ihre php.ini Akte zur vorangehenden Einstellung. Überschriften Sendeten Bereits StörungenDieses ist eine andere Fehlermeldung, die häufig auftritt, besonders wenn es Plätzchen oder Lernabschnitte verwendet, und es der folgenden Anzeige ähnlich ist: Kann nicht Kopfzeile ändern - die Überschriften, die bereits vorbei gesendet werden (der Ausgang begonnen an /home/web/newtest.php:3) in /home/web/test.php auf Linie 5 Das Problem wird durch die Leerstellen vor der Überschriftfunktion verursacht. Die PHP Überschriftfunktion wird verwendet, um den Benutzer zu einer anderen Seite, die umzuadressieren sie tut, indem sie Befehle in der Seite Überschrift zur Datenbanksuchroutine schicken und erklärt es, zur neuen Seite zu gehen. Jedoch sobald eine Überschrift zur Datenbanksuchroutine geschickt worden ist, können Sie Funktionen, die die Überschrift zugänglich machen, wie die Überschriftfunktion nicht mehr verwenden. Wenn alles zur Datenbanksuchroutine geschickt wird, die nicht eine spezielle Überschriftfunktion ist, ist die Überschrift geschlossen und alles sonst wird angenommen, um HTML für die Webseite zu sein. So warum ist dieses Geschehen mit dem vorhergehenden Code? Das Problem tritt auf, weil es eine Leerzeile gibt (Linie 2), die zur Datenbanksuchroutine geschickt wird. Dieses veranläßt die Überschrift geschlossen zu werden, also fällt die Überschriftfunktion aus, da sie zur Überschrift nicht mehr schreiben kann. Jedoch selbst wenn Sie die Leerzeile an Linie 2 entfernen, erhalten Sie die gleiche Fehlermeldung. Dieses ist, weil es gibt zwei Räume am Ende von? > Umbau auf Linie 1. Diese müssen auch gelöscht werden, da wieder sie werden zur Datenbanksuchroutine geschickt und die Überschrift schließen. Diese Räume am Zeilenenden können hart sein zu beschmutzen, weil sie unsichtbar sind! Es gibt eine Methode, die Sie verwenden können, obwohl, das Finden sie zu bilden einfacher. Wenn Sie Ihren Cursor am Ende jeder Linie und Linkklickens setzen und das Mäuserecht verschieben, werden alle mögliche Räume am Ende der Linie hervorgehoben, wie im vorhergehenden Schirmschuß gezeigt. Die Räume können dann entfernt werden. Wenn der Code jetzt wieder geprüft wird, sollte er richtig arbeiten. Diese Störung kann auch auftreten, wenn nicht beiliegend in den PHP Umbauten in irgendwelchen mit.einschließen Akten für die Seite ausgegeben wird. So, wenn Ihr Hauptseite Code fein schaut und Sie noch die Störung erhalten, ist der folgende Schritt, durch irgendwelche zu überprüfen mit.einschließen Akten der Seite Gebrauch. Häufig wird die Störung durch eine neue Linie nachdem der abschließende PHP Umbau in der einschliessenakte verursacht, die entfernt werden muß wenn Geschenk. dieses ist ein Artikel, der von Stratus Huo Quan
hinzugefügt wird
|
|||||||||
|