Login mit Cookie Frage

  • Login mit Cookie Frage

    hi könnte so ähnlich ein login gehen mit cookie?

    Quellcode

    1. <?php
    2. if($_POST['p_submit'] == 1) {
    3. setcookie("s_user") = $_POST['p_user'];
    4. setcookie("s_password") = ($_POST['p_password']);
    5. }
    6. $login = false;
    7. $file = file('XX/zzz.txt');
    8. if(setcookie("s_user") = '' && setcookie("s_password") = '')
    9. foreach($file as $row) {
    10. $row = explode("\t", $row);
    11. $user = trim($row[0]);
    12. $password = trim($row[1]);
    13. if($user == setcookie("s_user") && $password == setcookie("s_password")) {
    14. $login = true;
    15. }
    16. }
    17. if($login == false) {
    18. if($_POST['p_submit'] == 1)
    19. echo 'Benutzername und/oder Passwort nicht korrekt.';
    20. else
    21. require('login.php');
    22. die();
    23. }
    24. ?>
    Alles anzeigen


    bitte um hilfe

    MFG
    OverSave
  • hmm ok kannst du mir helfen denn code so zuändern das es über cookie leuft und nicht über session



    Quellcode

    1. <?php
    2. session_start();
    3. if($_POST['p_submit'] == 1) {
    4. $_SESSION['s_user'] = $_POST['p_user'];
    5. $_SESSION['s_password'] = ($_POST['p_password']);
    6. }
    7. $login = false;
    8. $file = file('XX/zzz.txt');
    9. if($_SESSION['s_user'] != '' && $_SESSION['s_password'] != '')
    10. foreach($file as $row) {
    11. $row = explode("\t", $row);
    12. $user = trim($row[0]);
    13. $password = trim($row[1]);
    14. if($user == $_SESSION['s_user'] && $password == $_SESSION['s_password']) {
    15. $login = true;
    16. }
    17. }
    18. if($login == false) {
    19. if($_POST['p_submit'] == 1)
    20. echo 'Benutzername und/oder Passwort nicht korrekt.';
    21. else
    22. require('login.php');
    23. die();
    24. }
    25. ?>
    Alles anzeigen
  • Hi,

    warum hast du auf einmal da SESSION Code drin stehen???

    donut hat doch eigentlich den entscheidenden hinweis gegeben.

    Mit der funnktion kannst du daten in nem cookie speichern... und das is doch genau das was du wolltest oder?

    http://de.php.net/manual/de/function.setcookie.php <- zum speichern in cookies

    Quellcode

    1. bool setcookie ( string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly]]]]]] )


    auf das Cookie kannst du dann mit $_COOKIE[] zugreifen.

    Allerdings solltest du dir darüber im klaren sein, das der User die verwendung von cookies deaktiviert haben könnte, was natürlich deine funktion unbrauchbar macht.

    nur so als hinweis ;)

    mfg da BendIt
    .:Reden Ist Schweigen und Silber Ist Gold:.

    real programmers don't comment their code: if it was hard to write, it should be hard to read!
  • so oder wie ?

    Quellcode

    1. <?php
    2. if($_POST['p_submit'] == 1) {
    3. $suser = $_POST['p_user'];
    4. $spass = ($_POST['p_password']);
    5. }
    6. $login = false;
    7. $file = file('XX/zzz.txt');
    8. if($_COOKIE['BUser'] != '' && $_COOKIE['BPass'] != '')
    9. foreach($file as $row) {
    10. $row = explode("\t", $row);
    11. $user = trim($row[0]);
    12. $password = trim($row[1]);
    13. if($user == setcookie(BUser, $suser) && $password == setcookie(BPass, $spass)
    14. {
    15. $login = true;
    16. }
    17. }
    18. if($login == false) {
    19. if($_POST['p_submit'] == 1)
    20. echo 'Benutzername und/oder Passwort nicht korrekt.';
    21. else
    22. require('login.php');
    23. die();
    24. }
    25. ?>
    Alles anzeigen


    nur dann krige ich eine fehler meldung

    Parse error: parse error, unexpected '{' in .................secure.php on line 32
  • soo bin jetzt etwas weiter doch wenn ich name und passwort eingeben kommt Benutzername und/oder Passwort nicht korrekt. obwohl beides richtig ist

    hier der code

    Quellcode

    1. <?php
    2. error_reporting(E_ALL);
    3. if(isset($_POST['p_submit']) == 1)
    4. {
    5. $suser = $_POST['p_user'];
    6. $spass = ($_POST['p_password']);
    7. }
    8. $login = false;
    9. $file = file('XX/zzz.txt');
    10. if($_COOKIE['BUser'] = '' && $_COOKIE['BPass'] = '')
    11. {
    12. foreach($file as $row)
    13. {
    14. $row = explode("\t", $row);
    15. $user = trim($row[0]);
    16. $password = trim($row[1]);
    17. if($user == setcookie(BUser, $suser) && $password == setcookie(BPass, $spass))
    18. {
    19. $login = true;
    20. }
    21. }
    22. }
    23. if($login == false)
    24. {
    25. if(isset($_POST['p_submit']) == 1)
    26. {
    27. echo 'Benutzername und/oder Passwort nicht korrekt.';
    28. }
    29. else
    30. {
    31. require('login.php');
    32. die();
    33. }
    34. }
    35. ?>
    Alles anzeigen


    bitte bitte um hilfe
  • erstmal danke das ihr so viel geduld mit mir habt

    hab es jetzt andersherum gemacht

    Quellcode

    1. if(setcookie('BUser', $suser) = '' && setcookie('BPass', $spass) = '')
    2. {
    3. foreach($file as $row)
    4. {
    5. $row = explode("\t", $row);
    6. $user = trim($row[0]);
    7. $password = trim($row[1]);
    8. if($user == $_COOKIE['BUser'] && $password == $_COOKIE['BPass'])


    leider geht es immer noch nicht
  • öhm,

    ich glaube du hast die funktionsweise des befehls setcookie noch nicht ganz verstanden...

    mit setcookie() setzt man ein cookie beim client. man kann damit keine werte aus einem existierenden cookie auslesen.

    dafür nimmst du die $_COOKIE['schluessel'] variable wobei "schluessel" als "anker" dient. also der wert der hinter dem schluessel steht wird zurückgegeben.

    deshalb macht deine if abfrage auch keinen sinn da du damit nicht auf existenz eines schluessel / wert paares prüfen kannst...

    wenn dann solltest du

    Quellcode

    1. if($_COOKIE['BUser'] == '' && $_COOKIE['BPass'] == '')


    prüfen ob die werte im cookie existieren...

    ich hoffe das dass ein wenig eindeutiger ist^^

    mfg da BendIt
    .:Reden Ist Schweigen und Silber Ist Gold:.

    real programmers don't comment their code: if it was hard to write, it should be hard to read!
  • um das ganze mal abzukürzen und vor allem, weil neben den setcookie funktionen und zugriffen noch andere Fehler drin waren... versuch mal den hier

    Quellcode

    1. <?php
    2. if($_POST['p_submit'] == 1) {
    3. setcookie("s_user", $_POST['p_user']);
    4. setcookie("s_password", $_POST['p_password']);
    5. }
    6. $login = false;
    7. $file = file('XX/zzz.txt');
    8. if($_COOKIE["s_user"] != '' && $_COOKIE["s_password"] != '')
    9. foreach($file as $row) {
    10. $row = explode("\t", $row);
    11. $user = trim($row[0]);
    12. $password = trim($row[1]);
    13. if($user == $_COOKIE["s_user"] && $password == $_COOKIE["s_password"]) {
    14. $login = true;
    15. }
    16. }
    17. if($login == false) {
    18. if($_POST['p_submit'] == 1)
    19. echo 'Benutzername und/oder Passwort nicht korrekt.';
    20. else
    21. echo 'Bitte anmelden';
    22. require('login.php');
    23. die();
    24. }
    25. ?>
    Alles anzeigen
  • "d0nUt" schrieb:

    um das ganze mal abzukürzen und vor allem, weil neben den setcookie funktionen und zugriffen noch andere Fehler drin waren... versuch mal den hier

    Quellcode

    1. <?php
    2. if($_POST['p_submit'] == 1) {
    3. setcookie("s_user", $_POST['p_user']);
    4. setcookie("s_password", $_POST['p_password']);
    5. }
    6. $login = false;
    7. $file = file('XX/zzz.txt');
    8. if($_COOKIE["s_user"] != '' && $_COOKIE["s_password"] != '')
    9. foreach($file as $row) {
    10. $row = explode("\t", $row);
    11. $user = trim($row[0]);
    12. $password = trim($row[1]);
    13. if($user == $_COOKIE["s_user"] && $password == $_COOKIE["s_password"]) {
    14. $login = true;
    15. }
    16. }
    17. if($login == false) {
    18. if($_POST['p_submit'] == 1)
    19. echo 'Benutzername und/oder Passwort nicht korrekt.';
    20. else
    21. echo 'Bitte anmelden';
    22. require('login.php');
    23. die();
    24. }
    25. ?>
    Alles anzeigen


    ja big thx easy-coding.de ist das geilste board ihr seit einfach gut nochmal thx^^