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örungen
Eine 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 Variable
Dieser Abschnitt beschreibt was zu tun, wenn Sie
eine Anzeige auf Ihrer Webseite wie einem vom folgenden empfangen:
|
Warnung |
Unbestimmter Index: Tätigkeit in
\home\www\login.php auf Linie 25 |
|
Warnung |
Unbestimmte Variable: Anzeige in
home\www\login.php auf Linie 52 |
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örungen
Dieses 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
Verzicht: Unsere Web site ist
nicht zu der Information verantwortlich, die durch diesen Artikel
enthalten wird. Dieser Artikel reflektiert keineswegs die
Ansichten, die Meinungen, die Gedanken oder den Glauben des
Artikelverzeichnisstabes.
Übersetzung Nachricht: Die Artikel
"allgemeinen PHP Störungen" wurden mit einem automatisierten
Übersetzungsdienst übersetzt. Wir entschuldigen herzlichst uns
für alle mögliche Übersetzung Störungen, die auftraten.
Danke für das Verstehen.