Dann schiebe die Zeile mit $page vor das isset und überprüfe, ob es sich um login.php handelt.
Beiträge von m.scatello
-
-
-
Noch ein Hinweis:
Richtig debuggen
- Man bemerkt, dass ein Skript nicht das tut, was es soll.
- Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
- Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
- Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
- An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
- Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
- Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
- Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
- Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
-
-
Wenn du in der header.php ein session_start stehen hast, dann muss diese logischerweise vor dem if($_SESSION['logged'] == 0) eingebunden werden und ist dann in der index.php nicht mehr erforderlich.
ZitatAber ich dachte es wäre ganz praktisch, dann kann ich (evtl. nachträglich) noch unterscheiden wer nicht eingeloggt ist (logged 0)..
Das kannst du mit isset jederzeit, dein $_SESSION['logged'] = 0 ist völlig unnötig.
-
Warum willst du unbedingt eine Session-Variable setzen, wenn man nicht eingeloggt ist? Das ist doch Quatsch. Mit
kannst du prüfen, ob man eingeloggt ist oder nicht.
Hast du in allen Scripts am Anfang ein session_start()?
Hast du das Error-Reporting mal hochgedreht?
-
-
m.scatello wahr schneller.
Basti, ich war schneller, war, nicht wahr, mit Wahrheit hat das war nichts zu tun.
-
Jemand einen Tipp?
Ja. Und damit wäre deine Frage korrekt beantwortet.
Nehme dieses kleine Script:
und suche in der Ausgabe nach upload_max_filesize und post_max_size
Ich tippe, upload_max_filesize steht auf 5M
Außerdem solltest du auch auf Fehler überprüfen, siehe $_FILES["file"]["error"];
Und noch ein Hinweis: Variablen-Namen wie $dateiSize sind einfach nur grausam, entweder du schreibst diese in Englisch oder in Deutsch, und das konsequent bei allen Variablen, aber so ein Denglisch sollte man lassen.
-
wäre doch geschickt wen der Kunde wüsste wo er sich gerade befindet.
Ich war in meinem Leben noch nie so besoffen, dass ich nicht wusste, wo ich bin. Das ist eine völlig sinnlose Spielerei.
ist so gewollt von Kundschaft
Dann würde ich deiner Kundschaft sagen, dass das auf einem Smartphone völlig unbedienbar ist und das ist gerade bei einem Lieferservice nicht unwichtig.
-
Also müsste der Befehl dann so aussehen
Nein, muss er nicht, sondern
-
Im Grunde müsste das dann so aussehen /Test/'Test1'/'Test2'/'Test3'
Nö, eher '/Test/Test1/Test2/Test3'
-
Und warum ersetzt du dann die Leerzeichen nicht einfach?
-
Und warum verzichtest du nicht auf Leerzeichen? Sollte man auf Webservern sowieso nicht verwenden, genauso wie Umlaute.
-
-
Gibt es dafür eventuell auch noch eine Lösung?
Klar, kann man sogar in der Doku nachlesen: https://www.php.net/manual/de/ref.filesystem.php
-
Kennst du https://tinyfilemanager.github.io/
Bevor du dir an dem Script die Zähne ausbeißt (und danach sieht es aus) solltest du zu einem ausgereiften Script greifen.
-
Das hat dir basti doch gerade so geschrieben.

-
Ich weiß nicht, was du machst, aber bei mir macht das Script genau das, was du beschreibst. Ich kann mich damit durch eine komplette Verzeichnisstruktur hangeln.
-
Leider hat er diesen Ordner nicht geöffnet.
Dann machst du was falsch, bei mir funktioniert das Script.