PHP Login-Script

  • H@llo


    Suche ein PHP Script welches folgendes macht:


    1. Ohne Session!
    2. Es soll eine Form sein mit 2 Textfeldern und einem Button
    3. Benutzername / Passwort sollen in "user.txt" stehen, und von dort gelesen werden.
    4. Nachdem man sich mit seinem Benutzernamen / Passwort angemeldet hat, soll eine "eigene" Seite augerufen werden, d.H es soll nur für denjenigen sichtbar sein. Auch das sollte in einer .txt datei stehen.
    5. In besucht.txt soll die IP, Zeit usw. eingetragen werden, wann jemand die seite abgerufen hat.


    Falls jemand so was hat, oder schnell erstellen könnte wäre ich sehr dankbar!


    Bitte an mcwerti@hotmail.com schicken. Vielen dank


    MFG
    mcwerti

  • für Nr. 5 braucht man kein cookie, nur um sich einfacher zu merken, dass er eingeloggt ist... ich mach dir eines...


    |---> it MUST be a spoon! <---|


      

  • zwischenfrage:
    5. In besucht.txt soll die IP, Zeit usw. eingetragen werden, wann jemand die seite abgerufen hat.


    alle oder nur die eingeloggten?


    |---> it MUST be a spoon! <---|


      

  • Zitat

    Original von mcwerti
    3. Benutzername / Passwort sollen in "user.txt" stehen, und von dort gelesen werden.


    Ja ne, is klar. :) Dir ist bewusst, dass so jederman dieses File anschauen kann? (Wenn's im DocRoot des Servers ist..)


    Gruss,
    chrlen.

  • Allgmeines: das script ist voll nicht sicher... der user kann schon die page angucken, wenn er manuell ein cookie anlegt, welches gleich heisst wie das von mir gesetze.... allerdings weiss jemand, der den PHP code nicht kennt, nicht wie das cookie heissen muss... das cookie ist gültig bis du den Browser wieder zumachst....


    Code für das file "script.php". willst du es umbenennen, musst du es beim HTML Teil beim Form noch anpassen.



    [PHP]<?PHP
    if (($_POST['txtUsername']!="")&&($_POST['txtPassword']!="")) {
    $users = file('user.txt');
    for ($iCounter = 0;$iCounter < sizeof($users);$iCounter++) {
    $UserAndPw = explode ("!_!", $users[$iCounter]);
    if ((trim($UserAndPw[0]) == $_POST['txtUsername'])&&($_POST['txtPassword']==trim($UserAndPw[1]))) {
    setcookie ("logindata", trim($UserAndPw[0]));
    $links = file('links.txt');
    for ($iLCounter = 0;$iLCounter < sizeof($links);$iLCounter++) {
    $UserAndLink = explode ("!_!", $links[$iLCounter]);
    if (trim($UserAndLink[0]) == trim($UserAndPw[0])) {
    $FileHandleBesucht = fopen ("besucht.txt", "a");
    $date = date("d,m,Y-H:i");
    $WriteFileString = $date . ", " . trim($UserAndLink[0]) . ", " . $_SERVER["REMOTE_ADDR"] . "\n";
    fputs ($FileHandleBesucht, $WriteFileString);
    echo '<script language="Javascript">
    <!--
    var URL = "' . trim($UserAndLink[1]) .'"
    var speed = 0
    function reload() {
    location = URL
    }
    setTimeout("reload()", speed);
    //-->
    </script>
    ';
    }
    }
    }
    }
    }


    echo '
    <html>
    <body bgcolor="#ffffff">
    <form action="script.php" method="POST" name="Login">
    Name: <input type="text" name="txtUsername" size="24" border="0">
    <p>Kennwort:&nbsp;<input type="password" name="txtPassword" size="24" border="0"></p>
    <p><input type="submit" name="submitButtonName" value="Login" border="0"></p>
    </form>
    <p></p>
    </body>


    </html>
    ';
    ?>[/PHP]


    3 Files anlegen (eigendlich 2, aber beim besucht hatte ich mühe, weil wenn der webserver das file erstellt, dann konnte ich es nicht kopieren, da benutzerrechte falsch waren).


    1. besucht.txt <-- leer lassen...
    2. links.txt
    format (!_! = trennzeichen):

    Code
    1. stefan!_!stefansseite.php
    2. testuser1!_!testseite2.php


    3. user.txt
    wieder !_! als trennzeichen

    Code
    1. stefan!_!passwort
    2. testuser!_!testpass


    |---> it MUST be a spoon! <---|


      

    Einmal editiert, zuletzt von Xoood ()

  • die aufzurufenden seiten müssen jeweils so aussehen:


    [PHP]<?PHP
    if (!isset($_COOKIE['logindata'])) {
    die ("Nur mit Anmeldung sichtbar....");
    }
    ?>


    <html>
    ...
    </html>[/PHP]


    |---> it MUST be a spoon! <---|


      

  • schonmal sehr gut :top danke


    nur sollte die "eigene" seite auch in einer .txt datei sein.


    soll eine Notenliste sein, und dann sollte natürlich auch nur derjenige seine noten sehen der eingeloggt ist, und die noten sollen eben alle in ner (1x) noten.txt sein, und nicht für jeden eine eigene.

  • Verstehe nicht ganz was du meinst.


    in der links.txt speicherst du jeweils, welcher user welche page sieht. ist das nicht so gemeint?


    |---> it MUST be a spoon! <---|


      

  • also es sollte so sein:


    1. ein neuer user + passwort wird in user.txt definiert
    2. dann auf script.php einloggen
    3. dann soll für die eingeloggte person auf einer neuen seite erscheinen:


    Hallo (dann name des eingeloggten), deine Noten sind:


    und dann die noten aus noten.txt


    4. und dann sollte es unten noch einen logout button haben.

  • na das mit den seiten hast du doch?


    du musst einfach die seiten manuell erstellen, ein eindeutiger Name geben und in der links.txt entsprechend der Name der seite anpassen?


    logout... lohnt sich das? Browser zu, browser auf und du bist ausgeloggt


    |---> it MUST be a spoon! <---|


      

  • wenn du mir ein beispiel einer noten.txt datei zeigen kannst, weiss ich vieleicht etwa was du meinst und kanns machen ;) ich frage mich nur wie du noten in einem textfile speichern willst?


    |---> it MUST be a spoon! <---|


      

  • ahaaaaaaaa!! ein solches notensystem! ich dachte musiknoten ;)


    Edit: eilt es oder kann ichs heute abend machen?


    |---> it MUST be a spoon! <---|


      

    Einmal editiert, zuletzt von Xoood ()