Cookies - Hilfe benötigt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Cookies - Hilfe benötigt

    Es geht um ein Loginscript und um Cookies. Es ist viel Script, aber wenn ihr etas Zeit habt wäre euch sehr dankbar wenn ihr mir Ratschläge gibt wie man das anders oder besser macht. Ich habe eine login.php die einen Cookie setzt:

    PHP-Code:
    if ($HTTP_COOKIE_VARS["iridios"] == NULL)
    {
    $cookietime time()+3600*24*300;
    $cookiedatum date("d.m.Y um H:i Uhr");
    $cookiecontent "$username|$passwort|$cookiedatum";
    setcookie("iridios","$cookiecontent",$cookietime,"","");
    }
    include(
    "var.php");
    $connect = @ mysql_connect($dbserver$dbuser$dbpass);
    if (!
    $connect)
    {
    header("Location: index.php?i=sna.php"); 
    exit;
    }
    mysql_select_db($dbname,$connect);
    $query "SELECT level, rang, zugriff FROM user WHERE username = '".$username."' AND passwort = '".$passwort."'";
    $result mysql_query($query,$connect);
    // hier geht dann der loginvorgang noch ein bisschen weiter, aber das dürfte ja egal sein
    ?> 
    Dann habe ich eine head.php die in jeder Seite per include() da ist. Sie soll checken ob der Cookie existiert und falls ja den User einloggen. Dann sollte sie aber irgendwie nen Cookie setzen, damit der User net bei jedem Aufruf einer Seite neu eingelogt wird. Danke für eure Hilfe.

    PHP-Code:
    if ($logincheck != 1// also wenn user nicht eingelogt
    {
    if (
    $HTTP_COOKIE_VARS["iridios"] != NULL)
    {
    $cookieget $HTTP_COOKIE_VARS["iridios"];
    $cookiesplit split("|"$cookieget);
    $username $cookiesplit[0];
    $passwort $cookiesplit[1];
    $cookiedatum $cookiesplit[2];
    $query "SELECT level, rang, zugriff FROM user WHERE username = '".$username."' AND passwort = '".$passwort."'";
    $result mysql_query($query,$connect);
    while (
    $get mysql_fetch_array($result,MYSQL_ASSOC))
    {
    if (!
    $get)
    {
    header("Location: lfi.php?i=lf.php");
    exit;
    }
    $level $get[level];
    $rang $get[rang];
    $zugriff $get[zugriff];
    }
    $logincheck 1;
    session_start();
    session_register("username");
    session_register("level");
    session_register("logincheck");
    session_register("rang");
    session_register("zugriff");
    $cookietime time()+3600*24*300;
    $cookiesetdatum date("d.m.Y um H:i Uhr");
    $cookiecontent "$username|$passwort|$cookiesetdatum";
    setcookie("iridios","$cookiecontent",$cookietime,"","");
    }
    else
    {
    session_start();
    }
    }
    else 
    // wenn user nicht eingelogt
    {
    session_start();


  • #2
    Wenn Cookie da ist startest du die Session. Sollte gehen.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      setcookie("iridios","",,"","");

      Lösch ich den Cookie so wieder?

      Kommentar


      • #4
        ich glaube so kannst du das löschen
        das reicht schon.

        setcookie("iridios");
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Du kannst dein Cookie auch so löschen:
          setcookie("iridios","",time() - 3600);
          mfg
          Günni


          Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
          Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
          Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
          City-Tiger - Online durch die Straßen tigern...

          Kommentar


          • #6
            Muss ich eigentlich hier

            PHP-Code:
            $logincheck 1;
            session_start();
            session_register("username");
            session_register("level");
            session_register("logincheck");
            session_register("rang");
            session_register("zugriff");
            $cookietime time()+3600*24*300;
            $cookiesetdatum date("d.m.Y um H:i Uhr");
            $cookiecontent "$username|$passwort|$cookiesetdatum";
            setcookie("iridios","$cookiecontent",$cookietime,"","");

            vorher den Cookie nochmal löschen. Weil ich will ihn ja neu setzen.

            Kommentar


            • #7
              warum machst du dir das so 'kompliziert'?
              wenn du schon mit sessions arbeitest, dann wird ja ohnehin ein session-cookie abgelegt.

              allerdings ..... wenn der browser geschlossen wird, stehen die infos nicht mehr zur verfügung.
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Ja, aber ich will ja, dass User sich nicht immer extra einloggen müssen, nur weil sie das Fenster geschlossen haben.

                Kommentar


                • #9
                  aso... dann brauchst du das schon ....

                  du solltest aber nicht UN und PW ins cookie schreiben und dann noch unverschlüsselt....

                  schreibe eine SESSID rein und ordne die in der DB auf dem webserver dem user zu. das sollte schon reichen....
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Okai. Mach ich. Meinst du, dass es sonst so alles funzt wie ich mir das gedacht hab?

                    Kommentar


                    • #11
                      ich habe bis jetzt noch nicht soooo viel mit cookies rumgemacht, aber auf den ersten überflogenen blick siehts zumindest gut aus.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        PHP-Code:
                        if ($HTTP_COOKIE_VARS["iridios"] != NULL)
                                {
                                
                        $cookieget $HTTP_COOKIE_VARS["iridios"];
                                
                        $cookiesplit split("|"$cookieget);
                                
                        $getsession $cookiesplit[0];
                                
                        $cookiedatum $cookiesplit[1];
                                
                        $query "SELECT level, rang, zugriff FROM user WHERE session = "$getsession"";
                                
                        $result mysql_query($query,$connect);
                                while (
                        $get mysql_fetch_array($result,MYSQL_ASSOC)) 


                        Parse error: parse error, unexpected T_VARIABLE in /www/htdocs/v035907/head.php on line 15

                        Was könnte da Schuld sein? Muss um den Dreh da oben sein.

                        Kommentar


                        • #13
                          $query = "SELECT level, rang, zugriff FROM user WHERE session = '".$getsession."'";
                          mfg,
                          [color=#0080c0]Coragon[/color]

                          Kommentar


                          • #14
                            Danke. Leider kommt nun folgendes:

                            Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /www/htdocs/v035907/head.php on line 41

                            PHP-Code:
                                    $cookiecontent "$cookiesession|$cookiedatumneu";
                                    
                            setcookie("iridios"$cookiecontent$cookietime);
                                    
                            $sessionspeichern mysql_query("UPDATE user SET session = '".$cookiesession."' WHERE username = '".$username."' AND passwort = '".$passwort"'");
                                    }
                                else
                                    {
                                    
                            session_start();
                                    }
                                }
                            else
                            {
                            session_start();

                            Kommentar


                            • #15
                              PHP-Code:
                              $sessionspeichern mysql_query("UPDATE user SET session = '".$cookiesession."' WHERE username = '".$username."' AND passwort = '".$passwort."'"); 
                              mach doch selbst mal die augen auf
                              mfg,
                              [color=#0080c0]Coragon[/color]

                              Kommentar

                              Lädt...
                              X