kostenloser Webspace werbefrei: lima-city


COOKIES werden nicht gesetzt 2.0

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Hallo Zusammen,

    Erneut habe ich ein Problem mit den Cookies.
    Ich möchte mit hilfe einer Checkbox ein Dauerhaftes Login erreichen und deswegen soll er im Code ein Cookie setzen.

    Allerdings setzt er keine Cookies aus welchen grund auch immer ich habe auch bereits versucht den gesammten Login Code nach ganz oben zu schieben aber nichts will funktionieren.

    Da dachte ich ich wende mich nochmal an euch! hier ist der Code: (connection datei ist vorhanden ich blende aber den Pfad aus im Code ist der in Zeile 3)
    <?php
    session_start();
    
    $action =$_GET["action"];
    ?>
    <link rel="stylesheet" type="text/css" href="../css/register.css">
    
    <?php
    
    
    if ($action == "login")
    {
    if(isset($_POST['login']))
    {
    $autologin =$_POST['autologin'];
    $Datum = date("d.m.y");
    $Uhrzeit = date("H:i:s");
    $Date = $Datum ." - " . $Uhrzeit;
    $ip =$_SERVER['REMOTE_ADDR'];
    $logpw =strip_tags(hash("sha512",$_POST['login_pw']));
    $logname =$_POST['login_name'];
    $login_abfrage = "SELECT password, username FROM users WHERE username = '$logname'";
    $login_ergebnis = mysql_query ($login_abfrage);
    $result =mysql_fetch_array($login_ergebnis) or die('
    username is wrong, try again.');
    
    if($logpw != $result['password'])
    {
    echo"Wrong password,try again.";
    }
    
    elseif($autologin == "true")
    {
    $exp =time()+86400;
    setcookie("login",$logname,$exp);
    
    
    $_SESSION['siteLogin'] = $logname;
    $give = $_SESSION['siteLogin'];
    
    mysql_query ("UPDATE users SET last_login='$Date',ip='$ip', autologin='$autologin' WHERE username='$give'");
    
    echo"<link rel='stylesheet' type='text/css' href='../css/weiterleitung.css'><div class='container'><p>Welcome $give! elseif funktioniert";echo $_COOKIE["login"]; echo" </p></div>";
    echo"<meta http-equiv='refresh' content='2.5; URL=http://marvinkleinmusic.de/community/home.php'> ";
    
    }
    
    
    else
    {
    
    $_SESSION['siteLogin'] = $logname;
    $give = $_SESSION['siteLogin'];
    
    mysql_query ("UPDATE users SET last_login='$Date',ip='$ip', autologin='$autologin' WHERE username='$give'");
    
    echo"<link rel='stylesheet' type='text/css' href='../css/weiterleitung.css'><div class='container'><p>Welcome $give! $autologin</p></div>";
    echo"<meta http-equiv='refresh' content='2.5; URL=http://marvinkleinmusic.de/community/home.php'> ";
    
    }
    
    }
    }


    LG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Cookies kannst du nur setzen, bevor jegliche Ausgabe erfolgt, da Cookies im HTTP-Header vor jeglichen Daten übertragen werden. Der Code zum Cookie-Setzen muss also ganz am Anfang der PHP-Datei stehen, bevor noch irgend ein Zeichen ausgegeben wurde. In deinem Code-Beispiel wäre das im Bereich der
    session_start()
    -Anweisung.
  4. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Auch das funktioniert nicht.

    Könntest du mir vielleicht den code einmal umsetzen ich bin ein absoluter Cookie noob.

    <?php
    $autologin=$_POST['autologin'];
    $action =$_GET["action"];
    
    
    if ($action == "login")
    {
    if(isset($_POST['login']))
    {
    $autologin =$_POST['autologin'];
    $Datum = date("d.m.y");
    $Uhrzeit = date("H:i:s");
    $Date = $Datum ." - " . $Uhrzeit;
    $ip =$_SERVER['REMOTE_ADDR'];
    $logpw =strip_tags(hash("sha512",$_POST['login_pw']));
    $logname =$_POST['login_name'];
    $login_abfrage = "SELECT password, username FROM users WHERE username = '$logname'";
    $login_ergebnis = mysql_query ($login_abfrage);
    $result =mysql_fetch_array($login_ergebnis) or die('
    username is wrong, try again.');
    
    if($logpw != $result['password'])
    {
    echo"Wrong password,try again.";
    }
    
    if($autologin == "true")
    {
    $exp =time()+86400;
    setcookie("login",$logname,$exp);
    
    
    $_SESSION['siteLogin'] = $logname;
    $give = $_SESSION['siteLogin'];
    
    mysql_query ("UPDATE users SET last_login='$Date',ip='$ip', autologin='$autologin' WHERE username='$give'");
    
    echo"<link rel='stylesheet' type='text/css' href='../css/weiterleitung.css'><div class='container'><p>Welcome $give! elseif funktioniert";echo $_COOKIE["login"]; echo" </p></div>";
    //echo"<meta http-equiv='refresh' content='2.5; URL=http://marvinkleinmusic.de/community/home.php'> ";
    
    }
    
    
    
    else
    {
    
    $_SESSION['siteLogin'] = $logname;
    $give = $_SESSION['siteLogin'];
    
    mysql_query ("UPDATE users SET last_login='$Date',ip='$ip', autologin='$autologin' WHERE username='$give'");
    
    echo"<link rel='stylesheet' type='text/css' href='../css/weiterleitung.css'><div class='container'><p>Welcome $give!</p></div>";
    //<meta http-equiv='refresh' content='2.5; URL=http://marvinkleinmusic.de/community/home.php'> ";
    
    }
    
    }
    }
    
    session_start();
    
    ?>
    <link rel="stylesheet" type="text/css" href="../css/register.css">
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Stell
    session_start()
    an den Anfang, denn das muss, genauso wie
    setcookie()
    , vor jeder Ausgabe aufgerufen werden.

    Kann es sein, dass du die Datei als UTF-8 mit BOM gespeichert hast?

    Sonst solltest du die Ausgabe von Fehlermeldungen aktivieren, das wird dir möglicherweise den Fehler zeigen…
  6. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Hallo nocheinmal,

    Als ich den fehler code in meinen Quellcode hinzugefügt habe ging es mit den Cookie setzen , doch sobald ich diesen entferne funktioniert das Cookie setzen nicht mehr.

    Weis vielleicht jemand weiter?

    LG
  7. Hallo,

    nur nebenbei, deine MySQL-Abfrage ist in dieser Weise ziemlich unsicher, da du eine POST-Variable direkt in die Abfrage schreibst, ohne sie vorher zu escapen. Schau dir unbedingt mysql_real_escape_string() an, damit niemand deine SQL-Querys verändern (SQL-Injection) kann.

    Grüße,
    ps3web
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!