setcookie ie4 problem

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

  • setcookie ie4 problem

    Hallo zusammen....

    Ich habe zur Zeit mal wieder eine Webpage mit Admin Section in Arbeit.
    Da ich dazu für den Login Script Cookies nutze bin ich auf folgendes Problem gestoßen....

    Also erstmal die text beschreibung:
    Ich habe ein cookie script via php geschrieben was funktioniert.
    Das es funktioniert kann ich daher wissen das ich es schon auf ca 10 pcs getestet habe. Jedoch funktioniert es nicht auf Systemen die manche bestimmte IE Veriosnen nutzen! Dieses Problem scheint schon bekannt zu sein... wie in den folgenden Links beschrieben:

    http://support.microsoft.com/default...b;EN-US;316112

    oder auch ein Zitat aus dem php.net comment zu setcookie():
    setcookie + header Location + IIS 5 = Trouble

    It took me a long time to figure out what was causing a missing cookie in one system while it worked perfectly in another...

    See this one: http://support.microsoft.com/kb/q176113/

    In short, this WILL NEVER WORK IN IIS 5:
    <?php
    header("Pragma: no-cache");
    header('Location: http://www.example.com/');
    setcookie('AA','1',0,'/');
    setcookie('BB','2',time() + 24 * 3600,'/');
    ?>

    You will ONLY get the Location Header, everything else will be "cut out" by IIS 5 CGI implementation.

    Solutions:
    1- Migrate to Apache/IIS6/Whatever
    2- Use a Non Parsed Header Script (nph-*.php)
    3- Try with header('Refresh: 0; $URL');

    mein code zum setzen des cookies:

    PHP-Code:

    $cookie_url
    =".oddysseus.de";
    $dnmae "example content";

    setcookie ("c_name""$dbname"time()+60*60 "/" "$cookie_url"); 
    so nun interessiert mich wie ich dieses problem lösen kann
    aus den tips von weiter oben habe ich schon: 2- Use a Non Parsed Header Script (nph-*.php) versucht und meine cookie.php in nph-cookie.php umbennant, funktioniert aber trotzdem nicht

    Vielleicht hat ja jemand von euch schon Erfahrungen damit gemacht und kann mir aushilfe geben!

    Danke im voraus

    PS: Es gibt keine Fehlermeldung, sondern die Cookies werden einfach nicht gesetzt

  • #2
    Ich kann gerade den Bezug des PHP.net-Comments zum IE4 nicht erkennen.

    Kannst du sicher ausschließen, dass es nicht einfach an den Cookieeinstellungen liegt?

    Wie verhält es sich bei dem Browser mit anderen Cookies?

    BTW: Seit wann muss man Variablen in Quotes setzen?

    Kommentar


    • #3
      nochmal als anhang:

      ich nutze firefox und habe es auf ie 6 getestet bei beiden gehts.
      ich habe auch schon versucht die domain daten und den pfad wegzulassen. trotzdem funktioniert es nicht!

      es liegt nicht an den cookie einstellungen, da bei den pcs wo es nicht funktioniert alle anderen cookie basierten seiten funktionieren!

      das problem scheint mir die version des webservers zu sein,
      ich weiß nicht genau welcher dieser ist, jedoch ist dies die verbindung zum php.net zitat.
      dort und auch auf der ms internetseite wird beschrieben das manchmal ein problem auftritt wenn der cgi server des webhosts die cookies nicht setzt!

      Kommentar


      • #4
        ich weiß nicht genau welcher dieser ist,
        Hmm, versuche doch mal das herauszubekommen. Scheint also nicht ganz unwichtig zu sein-

        Kommentar


        • #5
          also ich habe mal nen paar infos aus phpinfo();


          Server API
          Apache

          Apache Version
          Apache/1.3.27

          Loaded Modules
          mod_fastcgi, mod_frontpage, mod_userdir, mod_php4, mod_perl, mod_ssl, mod_setenvif, mod_so, mod_usertrack, mod_headers, mod_expires, mod_cern_meta, mod_proxy, mod_digest, mod_auth_db, mod_auth_dbm, mod_auth_anon, mod_auth, mod_access, mod_rewrite, mod_alias, mod_speling, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_info, mod_status, mod_negotiation, mod_mime, mod_mime_magic, mod_log_referer, mod_log_agent, mod_log_config, mod_define, mod_env, mod_vhost_alias, mod_mmap_static, http_core

          SERVER_SOFTWARE
          Apache/1.3.27 (Linux/SuSE) mod_fastcgi/2.4.2 FrontPage/4.0.4.3 PHP/4.3.1 mod_perl/1.27 mod_ssl/2.8.12 OpenSSL/0.9.6i

          session.cookie_domain
          no value no value
          session.cookie_lifetime
          0 0
          session.cookie_path
          / /
          session.cookie_secure
          Off Off

          vielleicht kann ja wer was damit anfangen
          ich brauche dringend hilfe

          Kommentar


          • #6
            Sieht mir aber jetzt deutlich nach nem Apache aus. Also kein Bezug mit IIS...

            Kommentar


            • #7
              ja ok.... wenn du erkannt hast das es kein iis problem ist ists ja schän und gut,
              nur was mache ich denn jetzt!?

              Kommentar


              • #8
                Bis jetzt haben wir leider 0 Anhaltspunkte.

                Kommentar


                • #9
                  so ich poste mal das cookie script...
                  vielleicht hat ja denn jeman ne ahnung...

                  PHP-Code:

                  <?php

                  include"db_connect.php";

                  $cookie_url=".oddysseus.de";

                  $dbname $_GET['nick'];
                  if(
                  $_GET['func']=="login"){

                  setcookie ("c_name""$dbname"time()+60*60 "/" "$cookie_url");
                                  
                                      
                                      
                  ?>
                                                  <style type="text/css">
                                                  <!--
                                                  body {
                                                      background-color: #333333;
                                                      color:#FFFFFF;
                                                      font-family:Verdana, Arial, Helvetica, sans-serif;
                                                      font-size:12px;
                                                      margin-left:5;
                                                      margin-top:5;
                                                  }
                                                  -->
                                                  </style>
                                      
                  <?php
                                      
                  echo "Sie werden eingeloggt und weitergeleitet!
                                      
                                      "
                  ;

                                      echo 
                  "<meta http-equiv=\"refresh\" content=\"10; url=../index.php?sec=member\">";
                      
                  }elseif(
                  $_GET['func']=="logout"){
                      
                                  
                  setcookie ("c_name"""time()+60*60 "/" "$cookie_url");
                                  
                                      
                  ?>
                                                  <style type="text/css">
                                                  <!--
                                                  body {
                                                      background-color: #333333;
                                                      color:#FFFFFF;
                                                      font-family:Verdana, Arial, Helvetica, sans-serif;
                                                      font-size:12px;
                                                      margin-left:5;
                                                      margin-top:5;
                                                  }
                                                  -->
                                                  </style>
                                      <?php
                                      
                  echo "Sie werden ausgeloggt und weitergeleitet!
                                      
                                      "
                  ;

                                      echo 
                  "<meta http-equiv=\"refresh\" content=\"1; url=../index.php\">";
                  }


                  ?>

                  Kommentar


                  • #10
                    was wir gerade probiert haben ist nen anderes php basiertes fertiges system zu testen (eqdkp) welches auch cookie login nutzt.
                    Dort funktioniert der Login!

                    Kommentar


                    • #11
                      Original geschrieben von Infineon
                      was wir gerade probiert haben ist nen anderes php basiertes fertiges system zu testen (eqdkp) welches auch cookie login nutzt.
                      Dort funktioniert der Login!
                      na dann weißt du ja, was jetzt zu tun ist, oder?
                      unterschiede in den beiden vorgehensweisen finden :-)


                      (ich würde als erstes mal mit einer analyse der tatsächlichen response header anfangen.)
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Unterschiede finden ist schwer,
                        die funktionierende Page ist nicht von mir geschrieben,
                        und deswegen für den nicht coder bissl durcheinander.

                        Naja auf jeden Fall wollt ich die header auch schon auslesen...
                        Werd das mal testen...

                        Seht ihr an meinem Code den vllt. einen Fehler!?

                        Kommentar

                        Lädt...
                        X