Sessions

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sessions

    Hi

    Hab nun 1 Stunde im Internet wegen sessions gesucht.
    Hab aber nur so sachen mit datenbank im hintergrund gefunden.

    Ich bräuchte für meine Seite etwas ganz einfaches.


    wenn man auf die Seite intern.php geht, muss man ein Passwort eingegeben und auf Submit klicken.



    Wenn das Passwort richtig ist, wird ein link auf admin.php angezeigt.
    (hier sollte nur ich hindürfen --> also brauche ich keine große msql userabfrage)


    wie kann ich nun eine session erzeugen auf der intern.php, wenn das passwort richtig ist- und wie kann ich die Session übergeben auf admin.php.


    Wie kann ich auf admin.php überpürfen, ob die Session passt ?

    Und das ganze ohne cookies !


    Kann mir jemand den code posten ?


    Vielen dank


    Hier der Code:

    PHP-Code:
    <?php
    if (isset($submit))
    {
        if(
    $pwd=="testpasswort")
             {
                 echo
    ' <a href="admin.php" target="_blank">Hier</a> der Link zum Adminbereicht';
             }
             else
             {
                  echo
    "Falsches Passwort!";
             }

    else
    {
        echo
    '<form action="intern.php" method="" target="">
        <input type="Text" name="pwd" value="" size="" maxlength="">
        <input type="Submit" name="submit" value="">
        </form> '
    ;
    }
    ?>

  • #2
    Re: Sessions

    Original geschrieben von tom2000
    Hi

    Hab nun 1 Stunde im Internet wegen sessions gesucht.
    Hab aber nur so sachen mit datenbank im hintergrund gefunden.

    5 sekunden, und ich hab das gefunden
    Der Programmierer ist der Vormund des Anwenders.

    Kommentar


    • #3
      letztendlich hast du immer Cookies, oder so eine Art davon. Halt die Sessions. Sie werden halt nur auf dem Server gespeichert.

      Eine Session startest du mit
      PHP-Code:
      <?
      session_start();
      Wichtig ist, das du diesen Befehl an den Anfang deines Dokumentes schreibst. Ab dann kannst du immer auf deine Variablen, die du in der Session schreibst zugreifen:
      PHP-Code:
       $_SESSION['ichBinEineVariable'] = "DerVariablenWert" 
      Dein Script würde also so aussehen:
      PHP-Code:
      <?php
      session_start
      ();
      if (isset(
      $submit))
      {
          if(
      $pwd=="testpasswort")
               {
                   
      $_SESSION['password'] = $pwd;
                   echo
      ' <a href="admin.php" target="_blank">Hier</a> der Link zum Adminbereicht';
               }
               else
               {
                    echo
      "Falsches Passwort!";
               }

      else
      {
          echo
      '<form action="intern.php" method="" target="">
          <input type="Text" name="pwd" value="" size="" maxlength="">
          <input type="Submit" name="submit" value="">
          </form> '
      ;
      }
      ?>
      Trotzdem sind noch eine Fehler im Script. So musst du deine Variablen im Formular mit einer Methode weiterleiten ([COLOR=firebrick]method="post"[/COLOR]) und sie wieder aufnehmen ([COLOR=firebrick]extract($_POST)[/COLOR]). Weiterhin musst du immerwieder prüfen ob die Session des Users auch online darf. Und ich würde automatisch weiterleiten...

      Also hier das optimierte Script:
      PHP-Code:
      <?php
      session_start
      ();
      extract($_GET);
      if (isset(
      $submit))
      {
          if(
      $pwd=="testpasswort" || isset($_SESSION['passwort']))
               {
                   
      $_SESSION['passwort'] = $pwd;
                   
      header("Location: admin.php");
                   exit;
               }
               else
               {
                    echo
      "Falsches Passwort!";
               }

      else
      {
          echo
      '<form action="intern.php" method="post" target="">
          <input type="Text" name="pwd" value="" size="" maxlength="">
          <input type="Submit" name="submit" value="">
          </form> '
      ;
      }
      ?>
      visit bepeppered.net

      Kommentar


      • #4
        vielen dank !

        Kommentar


        • #5
          was muss nun auf der admin.php seite stehen, damit es überprüft wird ?

          <?
          //Session wird überprüft, ansonsten --> keine Berechtigung
          ?>

          Kommentar


          • #6
            PHP-Code:
            <? session_start();
            if($_SESSION['password'] != "dasistdaspasswort")
            {
                header("Location: intern.php");
                exit;
            }
            ?>
            Dann deine Dinge die wichtig sind. In jede Datei, die geschützt sein soll muss das rein.

            Letztendlich der Logout:
            PHP-Code:
            <? session_start();
            session_delete();
            header("Location: intern.php");
            ?>
            visit bepeppered.net

            Kommentar


            • #7
              Hm

              Ich würd mal eher
              PHP-Code:
              session_destroy(); 
              sagen

              Kommentar


              • #8
                mist, hast ja recht. scheiss kontrolleure
                visit bepeppered.net

                Kommentar

                Lädt...
                X