Login Anzeige Navi if/else

  • Hallo hab mal wieder eine Denkblockade.


    Ich habe einen Login wenn sich der User einloggt soll sich in der Navi Leiste eine weitere Leiste auftauchen mit einem Link nur für den User.


    Ich frage das über php SESSION und nutzerID ab und lasse es dann anzeigen.


    Mit 2 Nutzer funktioniert es gut aber ab 4 User bekommt der 4te User immer die links vom 2ten und 3ten User angezeigt?!


    Ich denke etwas ist mit meiner if else und elseif falsch vieleicht hätte jemand einen Tip für mich danke.


    Hier der Code:

  • Code
    1. elseif ($_SESSION['eingeloggt']['nutzerID'] == '2' OR '3'){

    Das prüft ob beide Bedingungen true sind. Die erste Bedingung ist nutzerID == '2', die zweite Bedingung ist '3'. Die zweite Bedingung ist immer true, deshalb geht das Script immer dort rein. Du musst '3' auch mit der nutzerID vergliechen.

  • Du hast vollkommen recht vielen dank nun geht es.


    Teilweise fallen einem die einfachsten Sachen einfach nicht auf...


    Man siehst sich Bildlich gesprochen Stundenlang den Code an und sieht die einfachen Sachen einfach nicht.



    Echt danke.

  • Teilweise fallen einem die einfachsten Sachen einfach nicht auf...

    Ein Kumpel(Anfänger) hatte sich mal richtig über langen, selbst geschriebenen Code gefreut. Doch dann lief es nicht mehr. Als er dann Abends keine Lust mehr hatte nach dem Fehler zu suchen, ging er schlecht gelaunt schlafen. Am nächsten Morgen dann das Erleuchten, es hatte ein Semikolon gefehlt.

    Als er mir das erzählt und sich darüber geärgert hatte, da er am Vorabend einige Stunden am verzweifelten Suchen war, hatte ich ihn gefragt, warum er nicht einfach auf die Fehlerausgabe geschaut hat.

    Er überlegte, hatte keine Antwort darauf und musste so lachen... :D

  • Manmal machen Fehler aber keinen Sinn. Als ob 1 + 1 nicht mehr 2 ist.

    Dann ist es wirklich besser Pause oder Feierabend zu machen.


    Manchmal hift es auch schon im Forum eine Frage zu stellen.

    Schon beim Schreiben und Überlegen, wie man das Problem erklärt, fällt einem manchmal der Fehler auf :)


    dsaZeus Warum erstellst Du denn für jeden Benutzer eine eigene Datei (1.php, 2.php, ...)?

  • Wenn ich kurz einwerfen darf, das ist aber nicht schön gelöst.

    Halte das EVA Prinzip ein, um Deinen Code wartbar zu halten, bspw.:

    und später im HTML-Dokument einfach das Array zusammenklöppeln:

    HTML
    1. <?php echo implode($aLinks); ?>

    Gibt sicher noch bessere Varianten, soll aber nur ein Beispiel sein.


    Warum erstellst Du denn für jeden Benutzer eine eigene Datei (1.php, 2.php, ...)?

    Auch ne gute Frage!

  • Hallo,


    danke für die super Tipps und Hilfen.


    zum einen denke ich weil ich mich nach wie vor noch zu wenig auskenne wie ich es besser lösen kann.

    und zum anderen weil ich mir so viel leichter tute wenn Benutzer 1 sich ändern oder einer dazukommt und ich habe von jedem Benutzer alles in einer Datei.


    Ich schaue immer ob alles funktioniert dann das ich es verstehe was da gemacht wird und dann ob ich es besser lösen kann.


    Ich habe schon tausende Zeilen Code die Funktionieren aber ich mir sicher bin das sicher die hälfte auch reichen würde.

    Aber dazu fehlt mir einfach noch immer viel Wissen und so lerne ich aber Stück für Stück aber es ist einfach schön wenn man etwas macht und sieht das es funktioniert :).


    Hab schon das Projekt zig mal neu angefangen weil ich bei jedem Versuch gesehen habe das geht so das geht so und ich merkte das es viel einfach geht und es neu gemacht habe.

  • Ich habe schon tausende Zeilen Code die Funktionieren aber ich mir sicher bin das sicher die hälfte auch reichen würde.

    Definitiv, vermutlich sogar weniger wie die Hälfte ;)


    Aber dazu fehlt mir einfach noch immer viel Wissen und so lerne ich aber Stück für Stück aber es ist einfach schön wenn man etwas macht und sieht das es funktioniert :)

    Klar, wenn es funktioniert und man versteht, was man da gemacht hat, ist das ein tolles Gefühl, das kann jeder nachvollziehen, der mal angefangen hat.


    Hab schon das Projekt zig mal neu angefangen weil ich bei jedem Versuch gesehen habe das geht so das geht so und ich merkte das es viel einfach geht und es neu gemacht habe.

    Deshalb ist es besser, sich kleine Projekte für den Anfang zu nehmen und - egal, wie groß das Projekt ist - sozusagen blockweise vorzugehen.


    Beispiel:

    Du benötigst einen Login? Kümmere Dich ausschließlich um diesen, bis er wirklich zufriedenstellend und sicher genug läuft.

    Du benötigst Benutzer abhängige Inhalte? Kümmere Dich allein darum, bis es zuverlässig läuft.

    usw.


    Bei allen Punkten ist natürlich wichtig, dass Du einen grundlegenden Plan hast, was Deine Struktur und den Aufbau Deiner Seite angeht. D.h., der erste Gedanke sollte sein: "Was möchte ich umsetzen und welche Möglichkeiten habe ich?". Ich nehme mir manchmal sogar die Zeit und notiere mir den Ablauf und den nötigen Aufbau dafür auf Papier, weil ich so besser zu einem sinnvollen Ergebnis komme. Bei kleineren Projekten lege ich auch schon mal direkt los, weil ich weiß, wie alles aufgebaut sein soll. Aber da arbeitet jeder anders, das soll keine fachliche Aussage sein.


    Wenn Du dann einen Plan hast, wie der Ablauf ist, weißt Du in etwa auch schon, wie Du anfangen musst und kannst Schritt für Schritt vorgehen.

    Jeden Schritt mehrfach neu anzufangen ist nicht so ein großes Problem, wie das ganze Projekt neu zu beginnen.

    ;)