In Entwicklungsumgebung funzt Setcookie() auf dem Webserver nicht ?!?

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

  • In Entwicklungsumgebung funzt Setcookie() auf dem Webserver nicht ?!?

    Hallo, ich habe mal wieder ein Problem!

    Zuerst zu meiner Enschuldigung:
    Ich habe bereits das Forum durchsucht und fand leider keine passende Antwort auf meine Fehlerbeschreibung...


    Also folgendes:

    Auf meiner Entwicklungsumgebung zu Hause (Apache2, PHP5, usw) funktioniert das Cookiesetzten ohne Probleme! Ich habe sogar davor noch Ausgaben der HTML-TAGS (<html>...</title>) und dann kommt erst der PHP-Teil der Set-Cookies vornimmt.

    Nun habe ich das ganze auf einen Webserver im Internet hochgeladen und wollte es ausprobieren....

    Und was passierte ?

    Tja, das hier:

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/l3s5154/html/index.php:1) in /var/www/l3s5154/html/index.php on line 17


    Ok, ich versetzte den kompletten Set-Cookie-PHP-Abschnitt nach ganz oben, also bevor irgendeine Ausgabe gemacht wurde!
    Der Fehler blieb aber!

    Mein Code:
    Code:
    		<?PHP
    			if(isset($HTTP_GET_VARS['park']))
    			{
    				$park = $HTTP_GET_VARS['park'];
    				$array = explode("a",$park);
    				if($array[1]=='1')
    				{
    					$time = time()-3600;
    					$park = abs($park);
    				}
    				else
    				{
    					$time = time()+2592000;
    				}
    				$park = $array[0];
    				$name = "hrm_park[$park]";
    				setcookie ( $name , $park , $time, "/");
    			}
    		?>	
    <html>

    Wie kann es sein das auf meinem Entwicklungs-Apache2-Server das alles ohne Probleme geht aber auf einem öffentlichen Webserver nicht ?

  • #2
    Vor dem <?PHP steht was (Leerzeichen und/oder Leerzeilen und/oder Tabs)

    output_buffering lokal aktiv?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Ich dachte zuerst: das musste es gewesen sein:

      Vor dem <?PHP....waren wirklich Leerzeichen weil ich die PHP-Abschnitte per Tab versetze...

      Aber nun habe ich das ganz an den Anfang geschoben.
      also so:

      Code:
      <?PHP
      	if(isset($HTTP_GET_VARS['park']))
      	{
      		$park = $HTTP_GET_VARS['park'];
      		$array = explode("a",$park);
      		if($array[1]=='1')
      		{
      			$time = time()-3600;
      			$park = abs($park);
      		}
      		else
      		{
      			$time = time()+2592000;
      		}
      		$park = $array[0];
      		$name = "hrm_park[$park]";
      		setcookie ( $name , $park , $time, "/");
      	}
      ?>

      Aber der Fehler blieb dennoch!


      Fehler:

      Warning: Cannot modify header information - headers already sent by (output started at /var/www/l3s5154/html/index.php:1) in /var/www/l3s5154/html/index.php on line 17

      Kommentar


      • #4
        Datei anhängen
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Datei anhängen ?

          Tschuldigung das ich so blöd bin, aber welche Datei wo anhängen ?

          Oder was meinst du ?

          Meinst du die Index.php hier an diesen Post anhängen ?

          Die ist riesengroß und vielleicht noch grösser.....

          Kommentar


          • #6
            Original geschrieben von Master0Blicker
            Meinst du die Index.php hier an diesen Post anhängen ?

            Die ist riesengroß und vielleicht noch grösser.....
            die ersten siebzehn zeilen sollten eigentlich reichen - denn da erfolgt ja laut meldung die ausgabe.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Ok, da hab ich sie nun angehägt!
              Angehängte Dateien

              Kommentar


              • #8
                Der Code aus deiner index.txt läuft bei mir fehlerfrei
                Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                Schön - etwas Geschichte kann ja nicht schaden.
                Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                Kommentar


                • #9
                  Tja, bei mir auch auf meinem lokalen Apache....
                  Aber im Internet auf UD-Media-Webserver nicht.......


                  Vielleicht liegt es ja an denen ? Heute ist deren SQL-Server sowieso irgendwie komisch langsam......


                  Mal sehen, vielleicht klappts ja morgen ?!?!

                  Kommentar


                  • #10
                    Ich habe da was ganz komisches entdeckt...

                    Wenn mir den Quellcode meiner geladenen Seite anschaue gibts einen Unterschied:


                    die Seite die von meinem lokalen Web-Server kommt hat vor dem THML-TAG keine Leerstelle.....die von meinem Web-Space-Provider hat komischerweise einen! Ich habe an der index.php nichts verändert sondern so wie ich sie lokal auf meiner Platte habe wurde Sie hochgeladen!

                    An was kann das nun liegen ?

                    Kommentar


                    • #11
                      Nee, jetzt habe ich die alte auf dem public-server gelöscht und neu hochgeladen (also ohne zu überschreiben), die leerstelle ist weg aber mein Problem mit den Cookies immer noch da......

                      Kommentar


                      • #12
                        Nochmal hochladen? Ohne dir zu nahe treten zu wollen, mir gings wohl selber mindestens schon 10mal so, dass ich eine Datei nach einer Korrektur nicht hochgeladen (oder in den falschen Ordner geuppt) hab und hab mich dann ne halbe Stunde gewundert, weil sich nix verändert hat.

                        EDIT:
                        Ok, du hast nochmal hochgeladen.
                        Dann hab ich auch keine Ahnung mehr.
                        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                        Schön - etwas Geschichte kann ja nicht schaden.
                        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                        Kommentar


                        • #13
                          Gibts da nicht sowas wie session_auto_start? Vielleicht funkt dir das dazwischen?

                          Kommentar


                          • #14
                            @onemorenerd

                            Ich verwende momentan noch keine Sessions in meinem Projekt...

                            Oder meinst du das bei diesem 'Anbieter' sowas in der Art automatisch mit dabei ist ?
                            Kann ich mir nicht vorstellen da er auch ausdrücklich in seinen FAQ's auf diesen Fehler hinweist und sagt das bei solchen Fehlern (also der gleiche Fehler wie bei mir -> Webserver bei denen geht nicht <> lokaler Webserver geht) immer der böse Programmierer schuld sei......

                            Kommentar


                            • #15
                              Ich glaub da hast onemorenerd nicht ganz verstanden.

                              PHP kann so konfiguriert werden, dass es automatisch, also ohne dein zutun eine Session startet.

                              Lass dir mal phpinfo(); ausgeben und schau bei 'session' nach was bei 'session.auto_start' bei dir für ein Wert gesetzt ist.
                              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                              Schön - etwas Geschichte kann ja nicht schaden.
                              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                              Kommentar

                              Lädt...
                              X