Sessions

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #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

      Comment


      • #4
        vielen dank !

        Comment


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

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

          Comment


          • #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

            Comment


            • #7
              Hm

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

              Comment


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

                Comment

                Working...
                X