kostenloser Webspace werbefrei: lima-city


header();

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    g**o

    hey... ich bastel mir ja grad mim norkey nen server mit homepage zusammen, wenn ich bei mir zu hause progge und lokal die seite teste l?uft alles ohne probleme..

    wenn wir die seite auf den server schieben, meldet der server immer beim header(); befehl, den ich zum weiterleiten benutze, wie den <meta refresh> -tag,
    die warnug/fehler cannot modify header information.. meine frage, was muss ich umstellen, das es l?uft, ich gehe ja mal davon aus, dass das irgendwo in der php.ini oder in einer anderen datei festgelegt ist, habe aber keine ahnung wo das genau ist..

    thx schonmal;)

    gero

    p.s. hier der header befehl, aber daran kann der fehler ja eigendlich eh net liegen
    header("location: index.php");

    Beitrag ge?ndert am 11.12.2005 10:20 von gero
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. hm... in welcher datei steht denn dieser code, den du uns da pr?sentierst??? wenn er in der index.php steht dann geht es nicht... und die index.php muss auch vorhanden sein....
    (ich wei?, ich halte dich f?r doof) :-)

    lass mal den header weg.... machs mal nur mit location...
    (obs funzt wei? i net)
  4. Der Fehler ist folgendes:

    Du machst vorher eine Ausgabe.

    Du darfst keine Ausgaben an den Browser reinscheiben vorher, dann denkt der Browser, die Seite ist richtig - und es kann nicht weitergeleitet werden.

    Quelltext ist bei jedem Problem gut...

    MfG lagerhaus
  5. Du Nuss, ich hei?e nicht norkey, sondern Norky^^
    achjah und allen danke f?r die Hilfe^^

    *gilt das jetzt als spam?*
  6. Autor dieses Themas

    g**o

    function logout()
    {
    setcookie("login","logout",time()-100);
    setcookie("pw","pwdel",time()-100);
    header("location: index.php");
    }

    diese funktion ist in die index eingebunden, und wird aufgerufen sobald in der url index.php?logout=1 steht.. das gleiche gilt auch f?r login und andere weiter leitungen

    edit: der soll halt dei index nochmal neu aufrufen, damit der die else anweisung durchf?hrt, in der wieder eine andere datei eingebunden wird, in dem fall soll dann die home seite erscheinen, sobald der logout durchgef?hrt ist.. hoff ihr versteht so ungef?hr was ich miene.. aber dwas ich nicht verstehe:: wieso klapt es bei mir lokal??

    Beitrag ge?ndert am 11.12.2005 10:47 von gero
  7. gero schrieb:
    function logout()
    {
    setcookie('login','logout',time()-100);
    setcookie('pw','pwdel',time()-100);
    header('location: index.php');
    }

    diese funktion ist in die index eingebunden, und wird aufgerufen sobald in der url index.php?logout=1 steht.. das gleiche gilt auch f?r login und andere weiter leitungen


    Ja, da ist doch die voherige Ausgabe - das Setzen der Cookies. Dies wird ja an den Browser gesandt.

    Eine direkte Probleml?sung f?llt mir nicht ein, aber ich w?rde empfehlen, einfach in dieser Datei die Szenarien einfach mit reinzuschreiben - z.B. wird mit dieser Funktion noch mit eingegeben
    echo "Danke f?r Ihren Besuch";
    die("");

    Dann w?re das Skript abgebrochen und man hat die Cookies gesetzt...

    MfG lagerhaus


    //EDIT:
    Es g?be nicht mehr die Umleitung zur index.php.

    function logout()
    {
    setcookie('login','logout',time()-100);
    setcookie('pw','pwdel',time()-100);
    echo 'Vielen Dank f?r Ihren Besuch!<br>Zur<a href="index.php">Startseite</a>';
    die("");
    }

    So h?ttest du den Header durch eine extra Seite umgangen.
    So

    Beitrag ge?ndert am 11.12.2005 10:53 von lagerhaus

    //EDIT2: Ja, nimm doch den <meta refresh>...

    Beitrag ge?ndert am 11.12.2005 10:56 von lagerhaus

    //EDIT3: Evtl. verschiedene PHP-Version?
    Sonst versuch mal den kompletten Pfad im Header anzugeben, bin mir aber nicht sicher ob es funktioniert...

    Beitrag ge?ndert am 11.12.2005 10:57 von lagerhaus
  8. Autor dieses Themas

    g**o

    ich versteh jetzt irgendwie net genau was du meinst^^ sorry.. vielleicht bin ich auch noch zu m?de^^ kannst du das vielleicht nochmal verdeutlichender erkl?hren, am besten auch zeigen wie ich die funktion umschreiben soll;)

    thx;)

    gero


    edit: w?rde es denn mim <meta refresh> tag gehen?? und warum kommt bei mir lokal die fehlermeldung NICHT??

    Beitrag ge?ndert am 11.12.2005 10:53 von gero

    Beitrag ge?ndert am 11.12.2005 10:54 von gero
  9. ja, es w?rde mit dem tag gehen!

    also so:

    function logout()
    {
    setcookie('login','logout',time()-100);
    setcookie('pw','pwdel',time()-100);
    die('<meta http-equiv="refresh" content="0; URL=index.php">');
    }


    Beitrag ge?ndert am 11.12.2005 21:18 von dussel
  10. setcookie macht keine Ausgabe, sondern sendet wie header auch nur header informationen. wo das problem liegen k?nnte wei? ich auch nicht, aber mir sind ein paar andere fehler aufgefallen:

    setcookie("login","logout",time()-100);
    --> setcookie("login"); l?scht den cookie auch!
    header("location: index.php");
    --> header("Location: index.php"); (Location gro? schreiben)
  11. Mittlerweile kenne ich die Antwort auswendig. Es ist immer das gleiche Problem:

    Bestimmte Befehle senden HTTP-Header. Die ganzen Cookie- und Session-Befehle geh?ren dazu. HTTP-Header m?ssen immer vor dem eigentlichen Seiteninhalt gesendet werde. Wenn also irgendwann im Script print, echo, einer ihrer Verwandten oder auch nur HTML-Code auftaucht, dann kann man keine HTTP-Header mehr senden, da ja schon Seiteninhalt gesendet wurde. Abhilfe schafft fast immer das Pufffern der HTML-Ausgabe.

    Also am Anfang des Scriptes schreiben:

    <?php
    ob_start();
    ?>

    und am Ende:

    <?php
    ob_flush_end();
    ?>

    MfG
    alopex
  12. 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!