Warnung “Kopfzeile darf nicht mehr als eine einzelne Kopfzeile enthalten, neue Zeile erkannt”

Lesezeit: 3 Minuten

Benutzer-Avatar
Navi

Ich codiere in Hoppla, um Bilder in PHP hochzuladen. Aber nach dem Senden des Bildes gibt es eine Warnung

“Kopfzeile darf nicht mehr als eine einzelne Kopfzeile enthalten, neue Zeile erkannt”

Unten ist meine Funktion, bei der es Fehler gibt

public function ft_redirect($query = '') {

    if (REQUEST_URI) {

        $_SERVER['REQUEST_URI'] = REQUEST_URI;

    }

    $protocol="http://";

    if (HTTPS) {

        $protocol="https://";
    }

    if (isset($_SERVER['REQUEST_URI'])) {

        if (stristr($_SERVER["REQUEST_URI"], "?")) {

            $requesturi = substr($_SERVER["REQUEST_URI"], 0, strpos($_SERVER["REQUEST_URI"], "?"));

            $location = "Location: {$protocol}{$_SERVER["HTTP_HOST"]}{$requesturi}";
        } else {


            $requesturi = $_SERVER["REQUEST_URI"];

            $location = "Location: {$protocol}{$_SERVER["HTTP_HOST"]}{$requesturi}";

        }

    } else {

        $location = "Location: {$protocol}{$_SERVER["HTTP_HOST"]}{$_SERVER['PHP_SELF']}";

    }

    if (!empty($query)) {

        $location .= "?{$query}";

    }

    header($location);

    exit;

}

  • geben Sie die übergebenen Werte aus header() und stellen Sie sicher, dass sie keine Zeilenumbruchzeichen enthalten

    – John Conde

    1. Mai 2013 um 14:51 Uhr

  • echo out value ist——> “Location: localhost/filethin/index.php?dir=“Aber es enthält keine neue Zeile

    – Navi

    1. Mai 2013 um 14:52 Uhr


  • Ich hatte das gleiche Problem und es stellte sich heraus, dass es sich um eine nicht gesetzte Variable in der POST-Anforderungsmethode handelte.

    – Samuel Ramzan

    8. Februar 2020 um 15:07 Uhr

  • Die Methode „authenticate“ sollte eine Zeichenfolge zurückgeben, keine Weiterleitung.

    – Merkur

    23. Januar um 15:31 Uhr

Benutzer-Avatar
Jake

Sie sollten nicht mehr als zwei Zeilen in die URL-Adresse einfügen. Überprüfen Sie Ihre URL.

Good URL - "http://mail.google.com"  - 1 line

Bad URL - "http://mail.              - 2 lines
            google.com/"

  • Ich hatte diesen Fehler in letzter Zeit ein paar Mal und jedes Mal ist es auf einen Tippfehler zurückzuführen, bei dem schließende Anführungszeichen usw. fehlen

    – Rob Sedgwick

    16. Februar 2015 um 21:50 Uhr

  • Es wird auch passieren, wenn Sie die einstellen header() mit dem \n(Neue-Zeile-Zeichen) dazwischen.

    – ichvjs

    10. August 2021 um 10:46 Uhr


Benutzer-Avatar
Mali M

in “Illuminate\Auth\Middleware\Authenticate” Die Methode “redirectTo” sollte einen URL-Pfad zurückgeben, nicht die Redirect-Antwort.

...
protected function redirectTo()
{
    if(\Auth::user()->hasRole('copy')){
        return '/copy/dashboardCopy';
    }       
}
...

Probleme könnten in Ihrem phpMyAdmin, Tabelle wp_options, option_value liegen.

Wenn da ein … ist Platz vor der URL wird der FEHLER generiert: Warnung: Header darf nicht mehr als einen einzigen Header enthalten, neue Zeile erkannt in …

Diese Warnung tritt auf, um darauf hinzuweisen, dass Sie möglicherweise eine neue Zeile haben [/n] im String-Inhalt Ihrer Variablen. Beispiel

  header("Location: ../control.php?post="$title1"&sample="$val"");

Hier gibt es 2 Variablen

$title1 und & $val

also beim Laufen, wenn diese Warnung auftritt Warnung

„Kopfzeile darf nicht mehr als eine Kopfzeile enthalten, neue Zeile erkannt“

Die Lösung ist
So entfernen Sie den passablen Inhalt der neuen Zeile aus der Variablen So

    $val=str_replace(PHP_EOL, '', $val);
    $title1=str_replace(PHP_EOL, '', $title1);

Dann können Sie die Variablen in den Header aufnehmen


Der ideale Lösungsweg ist so

$url="../control.php?post="$title1"&sample="$val"";
 $url=str_replace(PHP_EOL, '', $url);
 header("Location: $url");

** Das funktioniert zu 100 %; **

Scheint, als hätten die Variablen, die Sie zum Erstellen des Standortattributs verwenden, ein Zeilenumbruchzeichen in sich. Führen Sie sie durch URL-Code ()

  • Ich habe meinen Link echo. Aber es gibt keine neue Zeile es. Unten ist ein Link, den ich “Location: localhost/filethin/index.php?dir=”

    – Navi

    1. Mai 2013 um 16:29 Uhr


Versuchen Sie, Ihre URL zu codieren, und es sollte funktionieren: http://php.net/manual/en/function.urlencode.php

  • Ich habe meinen Link echo. Aber es gibt keine neue Zeile es. Unten ist ein Link, den ich “Location: localhost/filethin/index.php?dir=”

    – Navi

    1. Mai 2013 um 16:29 Uhr


Benutzer-Avatar
Suresh G

Sie sollten die URL “http://beispiel.com so bitte vermeiden “http://beispiel.com/” “https://stackoverflow.com/” ergibt URL-Mismatch , also vermeiden Sie , das gleiche Problem tritt auch bei WordPress auf. Versuchen Sie also, es so zu verwenden.

1015100cookie-checkWarnung “Kopfzeile darf nicht mehr als eine einzelne Kopfzeile enthalten, neue Zeile erkannt”

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy