![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Benutzer Registriert seit: 28.03.2007 Ort: Dollern
Beiträge: 26
|
Ich habe einen Script geschrieben ("Login.php"), in dem ich nicht weiß, ob "funktions.php" schon included ist oder nicht. Ich brauche "funktions.php" aber in dem Script. Jetzt bekomme ich dauernd die Fehlermeldung, dass nen paar Funktionen schon definiert sind, wenn ich "funktions.php" include (und es das schon ist). Andernfalls, (wenn ich "funktions.php" nicht include) bekomme ich die Fehlermeldung, dass ein paar Funktionen noch nicht definiert sind Ich hab' mir jetzt was dagegen ausgedacht "funktions.php": PHP-Code: PHP-Code: Es wird weder der "if"- noch der "else"-Teil ausgeführt!!!!!!! Bitte helfen, ich check's nitt... |
| | |
| | Nach oben #2 | ||
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
| Zitat:
Das ist klar, dass das nicht funktioniert. Ein "@" unterdrückt nur Ferhlermeldungen - die Fehler treten aber natürlich dennoch auf. In deinem Fall wird ein Fatal Error auftreten, wenn die Funktion noch nicht existiert. Genau deshalb sollte man das "@" nicht benutzen. In deinem Fall könntest du mit function_exists() prüfen, ob die gewünschte Funktion schon existiert, oder nicht. Zitat:
__________________ http://www.ChrisDiary.De Geändert von Chr!s (14.04.2007 um 19:56 Uhr). | ||
| | |
| | Nach oben #3 | |||
| Benutzer Registriert seit: 28.03.2007 Ort: Dollern
Beiträge: 26
| Zitat:
Zitat:
Zitat:
| |||
| | |
| | Nach oben #5 | ||
| Benutzer Registriert seit: 28.03.2007 Ort: Dollern
Beiträge: 26
| Zitat:
Wodurch kann eigendlich: Zitat:
| ||
| | |
| | Nach oben #6 |
| Erfahrener Benutzer Registriert seit: 12.06.2006
Beiträge: 199
|
Das kommt, weil keine Datenbankverbindung aufgebaut wurde. Evtl. ist die includete Datei nicht vorhanden? Und nochwas: require() bzw require_once() hilft dir auch prima weiter .. der Vorteil bei den *_once()-Funktionen ist, dass Dateien nur eingebunden werden, wenn sie nicht schon eingebunden worden sind. Und Unterschied zwischen require() und include() ist, bei include() wird bei Fehlfunktion (z.B. Datei nicht gefunden) nur eine Warnung ausgegeben. Bei require() wird die Ausführung des Scripts abgebrochen, wenn es eine Fehlfunktion gibt. Du solltest dich noch genauer mit den Grundlagen von PHP beschäftigen, include()s etc. sowie Funktionsbehandlung (function_exists() etc.) sind elementare Einheiten von PHP (und den meisten Programmiersprachen). Es hilft oft die Manual einfach mal von vorne bis hinten durchzulesen (man muss nicht jede Erweiterung anschauen, es reichen DB-, XML- und ähnliche Erweiterungen). |
| | |
| | Nach oben #7 |
| Bastian Fenske Registriert seit: 04.01.2006 Ort: Kassel
Beiträge: 826
|
Es macht Sinn, immer nur genau ein Eingangsskript für eine Webanwendung zu besitzen, da es ja immer Elemente gibt, die bei jedem Aufruf eingebunden oder abgearbeitet werden müssen. Ein erster konsequenter Schritt wäre dann bei jedem "Page Controller" (oder wie auch immer du solche Skripte, wie Login.php nennen magst) oben ein require 'setup.php' und unten ein require 'shutdown.php' oder so ähnlich einzubinden, damit Änderungen an den "globalen" Funktionen nicht überall von Hand eingetragen werden müssen (mit entsprechender Fehlerquote). Der nächste Schritt ist dann einfach, die Redundanz zu erkennen und den Spieß umzudrehen (also alle Anfragen auf ein Skript umzulenken, dass die Login.php etc. dann einbinden). Basti |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |