Martin: Login mit Session + Navigation

Hallo zusammen,

ich wollte auf meiner Seite ein loginsystem mit einbauen.
Ich hab mir hierzu folgendes angeschaut:

http://www.tutorials.de/showthread.php?s=&threadid=9684&highlight=session

das klappt soweit auch, wenn ich dann allerdings das ganze in die seite mit einbaue steig ich nicht mehr durch. Was vermutlich an meiner Navigation liegt die wie folgt aussieht und natürlich nicht mehr mit dem Tutorial übereinstimmt.

<br> <a href="index.php?show=intern" style="margin-left:0px" class="navi" > - Intern </a>
      <br> <a href="index.php?show=kontakt" style="margin-left:0px" class="navi" > - Kontakt </a>

<?
            switch ($_REQUEST['show']) {
                // Navigation-Links
                case "intern": require("intern.php"); break;
                case "kontakt": require("kontakt.php"); break;
                case "guestbook": require("guestbook.php"); break;
                // Default Link
                default: include("main.html");
                }
        ?>

Meine 2 Fragen nun:

1. kann mir jemand konkret an einem Beispiel zeigen wie ich das einbauen muß?

2. Ist die Navigation evtl. nicht ganz so gut gewählt und sollte besser auf was anderes umsteigen? Wenn ja was?

Danke schon mal für eure Hilfe

  1. Hi ... was hat das ganze mit deinem login system zu tun ?

    gruss Armin

    1. Hi ... was hat das ganze mit deinem login system zu tun ?

      Hi Armin,

      ich weiß eben leider nicht genau wie ich beides miteinander verknüpfe :( Das ist im moment mein Problem.

      1. ? hatte ich hier nicht gerade deantwortet ???

        hmmm ...
        dann nochmal

        -> index.php
        <form name="form1" method="post" action="login.php">
          <input name="user" type="text" id="user" value="Username">
          <br>
          <input name="pass" type="text" id="pass" value="Passwort">
          <br>
          <input type="submit" name="Submit" value="Abschicken">
        </form>
        -> login.php
        <?php
        session_start();
        $benutzername_für_login   = 'test'; /*Hier kannst du den benutzernamen festlegen*/
        $benutzerpasswort_für_login  = 'test'; /*Hier kannst du das Passwort festlegen*/

        if ($_POST['user'}  != '' AND $_POST['pass'] != '' AND $_POST['user'] != 'user' AND $_POST['passs'] != 'pass') {
         if ($_POST['user'] == $benutzername_für_login AND $_POST['pass'] == $benutzerpasswort_für_login) {
          /* Wenn der benutzername und passwort rihcitg sind wird der benutzer zu der datei logtin.php weitergeleitet
           mit einem session hinweiss das der benutzer eingelogt ist*/
          $_SESSION['logtin'] == 'ja';
          ?>
          <meta http-equiv="refresh" content="0;URL=logtin.php">
          <?php
          }
         else {
          ?>
          <font color="#FF0000">Benutzername oder Passwort ist fehlerhaft.</font>
          <?php
         }
        else {
         ?>
         <font color="#FF0000">Bitte geben Sie das Passwort und den benutzernamen an.</font>
         <?php
         }
        ?>
        -> logtin.php
        <?php
        session_start();
        if ($_SESSION['start'] != 'ja') {
         ?> <font color="#FF0000">Sie sind nicht eingelogt.<br>
        Logen sie sich zuerst ein.</font>
        <?php
         }
        else {
         switch ($_REQUEST['show']) {
                        // Navigation-Links
                        case "intern": require("intern.php"); break;
                        case "kontakt": require("kontakt.php"); break;
                        case "guestbook": require("guestbook.php"); break;
                        // Default Link
                        default: include("main.html");
                        }
         }
        ?>
        --------------------
        Spllte eigentlich laufen und dir den gewünschten erfolg bringen

        1. ? hatte ich hier nicht gerade deantwortet ???

          ging mir jetzt ähnlich :(

          hmmm ...

          Spllte eigentlich laufen und dir den gewünschten erfolg bringen

          leider noch nicht ganz. Ich habe deine Dateien so angelegt wie du geschrieben hast aber jetzt erhalte ich folgendes:

          "Parse error: parse error, expecting `']'' in /home/black-test/htdocs/self/login.php on line 8"

          Vielleicht kannst du mir hier noch kurz was sagen was zu beachten ist. Danke

          1. da gibt es nur eine antwort zu und zwar das ich da ganz schön viele fehler reingemacht habe ;)

            krass ... war auch gerade im stress naja ... wenn du es schon selbst geschaft hast super ansonsten hier nochmal die funktionierende verison ... die habe ich gestetet und es geht

            -> login.php
            <?php
            session_start();
            $benutzername_für_login   = 'test'; /*Hier kannst du den benutzernamen festlegen*/
            $benutzerpasswort_für_login  = 'test'; /*Hier kannst du das Passwort festlegen*/

            if ($_POST['user']  != '' AND $_POST['pass'] != '' AND $_POST['user'] != 'user' AND $_POST['passs'] != 'pass') {
             if ($_POST['user'] == $benutzername_für_login AND $_POST['pass'] == $benutzerpasswort_für_login) {
              /* Wenn der benutzername und passwort rihcitg sind wird der benutzer zu der datei logtin.php weitergeleitet
               mit einem session hinweiss das der benutzer eingelogt ist*/
              $_SESSION['logtin'] == 'ja';
              ?>
              <meta http-equiv="refresh" content="0;URL=logtin.php">
              <?php
              }
             else {
              ?>
              <font color="#FF0000">Benutzername oder Passwort ist fehlerhaft.</font>
              <?php
              }
             }
            else {
             ?>
             <font color="#FF0000">Bitte geben Sie das Passwort und den benutzernamen an.</font>
             <?php
             }
            ?>

            -> logtin.php
            <?php
            session_start();

            if ($_SESSION['logtin'] == 'ja') {
             ?> <font color="#FF0000">Sie sind nicht eingelogt.<br>
            Logen sie sich zuerst ein.</font>
            <?php
             }
            else {
             switch ($_REQUEST['show']) {
                            // Navigation-Links
                            case "intern": require("intern.php"); break;
                            case "kontakt": require("kontakt.php"); break;
                            case "guestbook": require("guestbook.php"); break;
                            // Default Link
                            default: include("main.php");
                            }
             }
            ?>

            wenn du noch fragen hast bzw das irgendwas nicht geht schick mir ne mail dann kann ich schneller reagieren.

            gruss armin

            1. Moin

              -> logtin.php
              <?php
              session_start();

              if ($_SESSION['logtin'] == 'ja') {

              Sollte das nicht != 'ja' heißen? Weil wenn $_SESSION['logtin'] auf ja gesetzt wurde, wird jetzt "Sie sind nicht eingelogt" angezeigt. Entweder habe ich das Script falsch verstanden, oder es ist unlogisch (weil 'logtin' für mich auf 'ja' gesetzt werden sollte, wenn man eingeloggt ist, und nicht umgekehrt)

              ?> <font color="#FF0000">Sie sind nicht eingelogt.<br>
              Logen sie sich zuerst ein.</font>
              <?php
              }
              else {
              switch ($_REQUEST['show']) {
                              // Navigation-Links
                              case "intern": require("intern.php"); break;
                              case "kontakt": require("kontakt.php"); break;
                              case "guestbook": require("guestbook.php"); break;
                              // Default Link
                              default: include("main.php");
                              }
              }
              ?>

              Thats all Folks
               eb4