kostenloser Webspace werbefrei: lima-city


Problem mit header()

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fabian-riedel

    Kostenloser Webspace von fabian-riedel

    fabian-riedel hat kostenlosen Webspace.

    Hallo,
    Ich habe eine PHP Datei, auf welcher man mit header() zu einer anderen Seite weitergeleitet werden soll. Auf meinem WAMP-Server tut das auch bestens, auf dem Lima-City Server kommt allerdings folgende Ausgabe:
    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/fabian-riedel/html/JS/includes/suche.php:3) in /home/webpages/lima-city/fabian-riedel/html/JS/includes/suche.php on line 10


    Hier die PHP Datei:
    <div style="padding-top: 90px; padding-left: 700px;">
    <form name="suche" method="post" action="includes/suche.php">
    <input value="<?php if ($_POST){ echo $beschreibung; } else{ echo "Suchbegriff";} ?>" class="input" name="beschreibung" type="text">
    <input name="suchen" class="input" style="padding: 2px;" type="submit" value="Suchen">
    </form>
    </div>
    <?php
    if ($_POST) {
      $suchbegriff = $_POST['beschreibung'];
      header("Location: ../index.php?site=suche&suchbegriff=" . $suchbegriff . "&beschreibung");
      }
    ?>


    warum funktioniert das auf dem Lima-City Server nicht?

    Grüßle Fabi
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Also normalerweise dürfte das auch aud deinem lokalen Rechner nicht funktionieren:
    http://php.net/manual/de/function.header.php

    Dort steht:
    Beachten Sie, dass Sie die Funktion header() aufrufen müssen, bevor Sie irgendeine andere Art von Ausgabe (seien es normale HTML-Tags, Leerzeilen in einer Datei oder von PHP) zum Client schicken
  4. Und, ganz unabhängig vom Fehler, das was du da machst ist wirklich sehr unsicher. Gewöhne dir an auf Formulareingaben nur über $_POST['name'] zuzugreifen, register_globals ist eine große Sicherheitslücke.

    Zudem, du integrierst eine Usereingabe direkt in deinen Header. Du kannst schnell Opfer einer Header-Injection werden (auch wenn PHP dich davor schützen sollte, solltest du nicht darauf vertrauen.)
  5. @fabian-riedel
    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/fabian-riedel/html/JS/includes/suche.php:3) in /home/webpages/lima-city/fabian-riedel/html/JS/includes/suche.php on line 10

    die lösung heißt 'output buffering' -> php.net. also alles was mit ob_start() &co. zu tun hat. dann geht es.
    also du fängt die datei so an:
    <?php
    error_reporting (E_ALL);
    ob_start ();
    // und so weiter;
    // und dann kanst headers ausgeben bis zum nasenbluten
    ...
    ?>

    ja und hör augf nikic und verwende post!
  6. 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!