Problemme mit setcookie

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

  • Problemme mit setcookie

    Hi,

    ich arbeite gerade an ne neuen page engine für meine Homepage, alles funktioniert auch soweit, also auch das der user seine Benutzer Daten nach dem Login in session variablen ablegt, nur habe ich aus sicherheits gründen die sessions an IP´s gebunden was auch funktioniert, nun aber zum eigentlichen problemm, um den Usern aber die möglichkeit zu geben immer eingelogt zu bleiben, oder das auslogen bei wechselder IP (Proxy) zu verhinden, wollte ich nohc cookies verwenden die der User selber aktivieren soll. Ich habe jetzt schon einiges ausprobiert, aber ich bekomme keine cookies angelegt. Ich poste hier mal den Code vieleicht weiss von euch ja jemand rat, achja eine Fehler meldung bekomme ich nicht.
    login.php: es werden nur 2 Variablen übergeben username und password.
    Edit, ich hab schon mal den Fehler der weiter unten aufgefürt wurde behoben.
    PHP-Code:
    <?php
    require ("admin/lib/connect.php");
    require (
    "admin/lib/mysql.php");
    $connect = new db;
    $connect->portalname        "XXL Portal";
    $connect->appversion        "1.121";
    $connect->host              $MySQL_Host;
    $connect->database          $MySQL_Database;
    $connect->user              $MySQL_User;
    $connect->password          $MySQL_Passwort;
    $connect->connect();
    require (
    "admin/lib/function.php");
    $ip getenv("REMOTE_ADDR");
    session_name("sid");
    session_start();
    if(!
    $sid$sid session_id();
    if ( 
    $HTTP_POST_VARS["username"] != "" ){
        require(
    "admin/lib/secure.php");
        
    $check $connect->query_first("SELECT * FROM ".$prefix."user 
    WHERE username='"
    .$HTTP_POST_VARS['username']."'");
        
    $password decode_barth77($check[password]);
        if ( 
    $HTTP_POST_VARS["username"] == $check[username] AND $HTTP_POST_VARS["password"] == $password){
            
    $userid $check[id];
            
    $password $check[password];
            
    $username $check[username];
            
    $group $check[group_id];
            if (
    $group == 1) {
                
    $group  1;
                
    $status "Administrator";
                
    $add  "all";
                
    $edit "all";
                
    $kill "all";
                
    $warn "all";
            }
            elseif (
    $group == 2) {
                
    $group  2;
                
    $status "Moderator";
                
    $add  "all";
                
    $edit "any";
                
    $kill "no";
                
    $warn "all";
                }
            elseif (
    $group == 3) {
                
    $group  3;
                
    $status "Mitglied";
                
    $add  "any";
                
    $edit "own";
                
    $kill "no";
                
    $warn "no";
            }
            
    session_register("username");
            
    session_register("group");
            
    session_register("userid");
            
    session_register("status");
            
    session_register("add");
            
    session_register("edit");
            
    session_register("kill");
            
    session_register("warn");
            
    session_register("ip");
        } else { 
            echo 
    "kein ergebnis";
        }
        if (
    $check[storecookie] == ) {
            
    $time time() + (60*60*24*365);
        }
        elseif ( 
    $check[storecookie] == ) {
            
    $time time() + (60*60);
        }
        
    $password encode_barth77($password);
        
    setcookie("xxl_username",$username,$time,"/");
        
    setcookie("xxl_password",$password,$time,"/");
        
        
    header ("Location: ./index.php?sid=$sid");
        exit;
    }    
    ?>
    Zuletzt geändert von ; 09.10.2002, 10:29.

  • #2
    versuchs mal so:

    PHP-Code:
    setcookie("xxl_password",$password,$time); 
    und davor findet keine ausgabe statt, oder?

    nachdem das cookie gesezt wurde, testest du einfach mal via:

    echo $_COOKIE['xxx_password'];

    obs geklappt hat!
    GNU/LINUX

    Kommentar


    • #3
      ($group == 1) usw, sonst ergibt es dir immer eine true und die if bedingung wird imemr ausgeführt..
      meine Projekte bestaunen: http://www.kleiza.de

      Kommentar


      • #4
        Hi,
        also habs so probiert, funktioniert aber auch nicht, es wird immer noch kei Cookie erstellt. und ne ausgabe findet vorher nicht statt, sonnst würde ich ja auch ne fehler meldung ala header... bekommen die session werden ja gesetzt.

        @campus, hast recht, hab ich noch gar nicht gesehen, oh man bin ich blind, man solte auch überprüffen was man rein kopiert.
        hat aber leider keine auswirkung auf die cookies
        Zuletzt geändert von ; 08.10.2002, 15:12.

        Kommentar


        • #5
          jetzt mach mal den header weg, und guckmal ob dir immer noch keine fehlermeldung ausgegeben wird.
          meine Projekte bestaunen: http://www.kleiza.de

          Kommentar


          • #6
            das ist ja das problemm wenn ich den header weg lasse bleibt die Seite weiss ohne fehlermeldung

            Kommentar


            • #7
              Hi,

              weiss den keiner nen rat woran das liegen kann? Nu noch so zur Info, ich benuze die PHP Version 4.23. Ich habe aber auch schon versucht die Cookies vor den Sessions zu erstellen, geht aber auch nicht. Seltsamer weise funktioniert es aber in nem anderen Script, allerding werden dort keine Sessions angelegt.

              Kommentar


              • #8
                also ich hab das Script mal auf nem server hochgeladen und getsetet, dort werden cookies anglegt, bekomme ich auch angezeigt. aber jetzt zu nem anderen problem, nun bekomme ich überall auf der seite diese Meldung ausgegeben und weiss nicht was das bedeuten soll?

                Code:
                Last-Modified: Wed, 09 Oct 2002 10:31:45 GMT ETag: "16c3f6-244-3da40591" 
                Accept-Ranges: bytes Content-Length: 580 Connection: close Content-Type: text/htm
                Hier mal die URL damit ihr euch das mal ansehen könnt: http://www.webmaster-xxl.net

                Kommentar


                • #9
                  Hi, war warscheinich zeitgleich, also die cookies werden bei mir Ofline nicht erstellt aber auf den server schon, cookies hab ich immer aktiviert.

                  Kommentar


                  • #10
                    wenn ich meine Scripte über "localhost" aufrufe, werden auch keine Cookies erstellt.

                    beim Aufruf über ....dyndns.org schon
                    TBT

                    Die zwei wichtigsten Regeln für eine berufliche Karriere:
                    1. Verrate niemals alles was du weißt!


                    PHP 2 AllPatrizier II Browsergame

                    Kommentar


                    • #11
                      ich weiss es nicht ob das ein bug in PHP 4.23 ist keine ahnung, aber hast du ne ahnung was das andere für ne meldung ist di ich online angezeigt bekomme. (zwei Posts vorher), Ich habs auch schon über die server IP die ich von tonlien hab versucht auch fehlanzeige.

                      Kommentar


                      • #12
                        also bei mir werden offline (apache, win2k, PHP 4.2.3) sämtliche cookies problemlos erstellt .... online übrigens auch!

                        ist also wohl kein bug in PHP ...
                        GNU/LINUX

                        Kommentar


                        • #13
                          kann es eventuel am Personal Webserver von Win2000 liegen?, abwohl main WBB" das ich Ofline Installiert habe funktioniert einwandfrei auch mit cookies

                          Kommentar

                          Lädt...
                          X