• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Probleme header("Location: www.url.de");

A

Anonymous

Gast
die PHP-Weiterleitung unter "OpenSuse 10.2" mit Lampp funktioniert nicht.

Warum?

Meine Funktion:
Code:
redirect("http://www.url.de");
function redirect($link)
  {
    header('Location: ' . $link);
    die();
  }

habe keine idee warum?
 

beleg

Member
Wenn Du den Code so wie abgedruckt stehen hast, ist es kein Wunder. Du solltest eine Funktion definieren, bevor Du sie aufrufst.
 
OP
A

Anonymous

Gast
das hier ist doch eine funktion:
Code:
function redirect($link)
{
  header('Location: ' . $link);
  die();
}

was soll das sonst sein?
 

Mojo1987

Newbie
[SB schrieb:
Benjamin"]die PHP-Weiterleitung unter "OpenSuse 10.2" mit Lampp funktioniert nicht.

Warum?

Meine Funktion:
Code:
function redirect($link)
  {
    header('Location: ' . $link);
    die();
  }

redirect("http://www.url.de");

habe keine idee warum?

So sollte es gehen. Du kannst keine Function aufrufen an einer Stelle an der es sie noch nicht gibt.

Alternativ kannste dir auch mal die PHP eigene Function http_redirect anschauen.
 

ginka

Member
Mojo1987 schrieb:
Du kannst keine Function aufrufen an einer Stelle an der es sie noch nicht gibt.
Das stimmt bei php nicht. Ob du zuerst den Funktionsaufruf oder zuerst die Funktion selbst definierst, spielt überhaupt keine Rolle.


[SB schrieb:
Benjamin"]Meine Funktion:
Code:
redirect("http://www.url.de");
function redirect($link)
  {
    header('Location: ' . $link);
    die();
  }

Bei meiner php-Installation funktioniert dieser Code übrigens einwandfrei. Was passiert, wenn du das ausführst? Gibt es eine Fehlermeldung, einen Eintrag im error_log?

Viele Grüße
ginka
 

zaubatrik

Newbie
Sendest Du vorher noch etwas an den browser (z.B. mit echo())?
Was sagt denn error_reporting()?
Welchen Sinn soll diese Funktion überhaupt haben?
 
OP
A

Anonymous

Gast
ich bekomme keine Fehlermeldung, der Browser wird gestoppt und es wird ein weißer Browser-Anzeige angezeigt. Mehr passiert nicht.

Ich möchte nicht jedes mal header("Location:" ... schreiben, deshalb die Funktion, dass ich nur die Url hinsende. Vielleicht heißt das irgendwann mal anders, dann muss ich das an 1000 Stellen ändern!
 

zaubatrik

Newbie
Warum sollte das irgendwann mal anders heißen?
Setz doch mal ein ob_start() direkt in die erste Zeile deiner Datei. In der Regel sollte es durch das "puffern" klappen.
 
Oben