Autom. Passwort senden

  • Hallo,
    ich hab auf meiner Seite einen passwortgeschützten Bereich, funktioniert soweit auch ganz wunderbar.
    Die Passwortabfrage (-Seite) schickt das eingegebene Passwort an die Zielseite, diese kontrolliert ob es richtig ist, und gibt bei Richtigkeit entweder die Seite frei oder zeigt anstattdessen einen Text wie "inkorrektes Passwort" an.
    Jetzt kommts aber, dass ich diesen passwortgeschützten Bereich mit einer weiteren Seite erweitern will. Wenn man jetzt aber von dieser zweiten Seite wieder auf die erste zurück will, ist wieder das Passwort nötig, das geschickt werden muss. Da ich es aber vermeiden will, dass die Leute wieder das Passwort eingeben müssen, versuch ich schon ne Weile lang, ein Script zu erstellen, dass das PW automatisch sendet. (Die Funktion wäre dann auch von Seite 1 zu Seite 2 gegeben, da man Seite 2 sonst einfach in die Browserzeile eingeben könnte)


    - das krieg ich aber nicht hin -.-
    Vielleicht kann mir hier jemand helfen.


    Hier die Scripte:


    Passwortabfrage cum Formular:


    Code
    <div align='center'>
    <form action="Seite1.php" method="post">
    <input type="password" name="pw">
    <input type="submit" value="submit"  >
    
    
    
    
    </form>
    </div>



    Passwortcheck auf Seite 1 cum evtl Freigabe:


    PHP
    <?php
    if($HTTP_POST_VARS[pw] == "blubb") {
      echo "Passwort korrekt.";
      echo "";
    } else {
      die("inkorrektes Passwort");
    }
    ?>
  • Dann muss das über das Kurzzeitgedächtnis von php gemacht werden.


    Auch genannt Sessions


    Genaueres dazu findest du im php-kurst


    <!-- m --><a class="postlink" href="http://www.php-kurs.com/session-anwenden.htm">http://www.php-kurs.com/session-anwenden.htm</a><!-- m -->



    als bsp:



    Die variable $_SESSION["login"]
    enthält wenndas passwort richtig ist 1 und wenn es falsch war, wird es nicht erstellt.


    Diese $_SESSION["login"]


    bleibt dann solange aktiv, bis der Browser geschlossen wird oder sie über ein skript gelöscht wird (logout) oder vom server gelöscht wird.
    (einstellungen funpic.de löscht es offt schon nach 10 minuten)


    Das Session_start();
    muss auf jeder php seite gesetzt sein, in der auf session variablen zugegriffen werden soll.


    Dann musst auf jeder geschützten seite überprüfen ob die $_SESSION["login"] exestiert.


    Wichtig ist, das Session_start();
    Ganz am anfang der der seite definiert sein muss. Also vor dem <?php darf kein html, nichtmal eine leerzeile sein.



    extra:
    Es gibt weit bessere möglichkeiten einen pw schutz zu erstellen, dazu lies dir mal die infos im link durch. Aber für diesen zweck, ist das wohl die beste variante.




    Greetz TimTim

  • Danke für die schnelle Hilfe!
    Aber ich kam leider erst heute dazu, es zu probieren.


    Nun gut,
    alles so gemacht wie beschrieben.
    Ich komm von der Passwortabfrage-Seite immernoch auf die passwortgeschützte Seite 1, funktioniert einwandfrei.
    Allerdings gibts ein Problem mit passwortgeschützter Seite 2.


    Code, der die Session abfragt hab ich eingesetzt, allerdings kommt jetzt diese Meldung bei Aufruf:


    Parse error: syntax error, unexpected T_STRING in /www/dateipfad.php on line 5


    Hab schon ein bisschen mit anderen Befehlen rumgewerkelt, mit echo"" usw. soweit es meine php Kenntnisse zulassen, aber das hat wiederrum andere Fehlermeldungen provoziert.
    Auch kann ich mir nicht vorstellen, dass ich von passwortgeschützter Seite 2 so ohne weiteres wieder aus pw-geschütze Seite 1 komme. Konnts nich ausprobieren.



    Oder ist ein kompletter Login sinnvoller...
    allerdings wollt ich nicht so nen Großen Aufwand betreiben :|

  • zeig doch einfach mal deinen code. Da dürfte doch eigentlich nix passieren.
    Di solltest jedoch nach der ersten klammer der if abfrage php schließen, da du sonst alle " maskieren müsstest


    <?php
    session_start();
    if(isset($_SESSION["login"])){ ?>


    HTML


    <?php }
    else
    {
    echo "Sie haben keine berechtingun...";
    }

  • Und schon hats geklappt, dankeschön.


    Jetzt gibts allerdings noch ein Problem was ich mir schon gedacht hab.


    Auf pwgeschützte-Seite 2 gibts nen Link auf pwgeschützte
    -Seite 1, besser gesagt eine Weiterleitung.
    Und jetzt wird eben wieder das pw abgefragt mit




    Die Session ist zwar aktiv, bringt aber in dem Fall ja nichts. (Angezeigt wird:"inkorrektes Passwort", weil kein Pw gesendet wird)


    Zur Not würd ich ne Zwischenseite nach der Passwortabfrage-Seite erstellen, die die Session aktiviert und dann auf die pwgeschützte-Seite 1 weiterleitet. Da natürlich dann nurnoch die Sessionabfrage.

  • setzt doch über das kontrollieren der Post variable einfach noch eine ifabfrage...


    if(isset($_SESSION['login'])){ ?>



    HTML


    ?>
    }
    else
    { Überprüfen der POST }

  • Mist,
    klingt logisch X(
    'Werd mich wohl in Zukunft noch bisserl mehr mit php beschäftigen müssen.
    Okay, klappt alles ideal, vielen vielen Dank!
    Einen schönen Abend noch!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!