kostenloser Webspace werbefrei: lima-city


header redirect mit Parameter in URL

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    opsuche

    opsuche hat kostenlosen Webspace.

    Hallo

    ich möchte per header('Location: ....") auf eine Seite umleiten,
    aber die URL zur Umleitung enthält einige Parameter.

    muss ich jetzt die URL Parameter (wie bei XHTML) mit & anhängen, oder nur mit &

    so:
    header ('Location: seite.php?id=123&name=Hans+Dampf&info=blablabla');

    oder so:
    header ('Location: seite.php?id=123&name=Hans+Dampf&info=blablabla');


    die Werte je Parameter mit urlencode() ist klar,
    aber Übergabe ab dem 2ten GET Parameter ... mit & oder mit & ... ?

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. tee

    Moderator Kostenloser Webspace von tee

    tee hat kostenlosen Webspace.

    Keine Garantie dafür, aber der Logik entsprechend müsste es die zweite Variante sein. Um es dir zu garantieren, müsste ich das selber kurz ausprobieren - aber warum machst du das nicht einfach erst einmal selber? :]

    MfG T
  4. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Ohne
    &
    sondern nur
    &
    .
    &
    brauchst du nur bei (X)HTML, damit nicht fälschlicherweise eine Entity entstehen kann, bei einer Weiterleitung darfst du das gar nicht nutzen
  5. Autor dieses Themas

    opsuche

    opsuche hat kostenlosen Webspace.

    ok, Danke,
    also redirect URL nur mit
    &
    und nicht mit
    &


    dannmache ich für die URL einfach vorher

    $url = str_replace('&','&',$url); 
    header ('Location: '.$url.'');


    und ...
    (wie) macht man hei header() dann auch noch ein R=301 oder sowas mit dazu ?

    Die URL ist ja durch die Parameter quasi "dynamisch"
    aber die Weiterleitung soll doch Permanent sein, oder ?



    Beitrag zuletzt geändert: 29.4.2013 12:10:24 von opsuche
  6. tee

    Moderator Kostenloser Webspace von tee

    tee hat kostenlosen Webspace.

    opsuche schrieb:
    header ('Location: '.$url.'');

    <?php
    $param1 = 1;
    $param2 = 2;
    header("Location: http://www.tld.de/index.php?bla='.$param1.'&foo='.$param2.'");
    ?>


    MfG T

    Beitrag zuletzt geändert: 29.4.2013 13:23:04 von tee
  7. Autor dieses Themas

    opsuche

    opsuche hat kostenlosen Webspace.

    NEIN ... nicht ganz :oO

    @tee in Deinem Code ist in header("...") mit "doppeltem Anführungszeichen"
    aber dann escapest DU die Parameter doch wieder mit 'einfachen Anführungszeichen'

    also entweder so: (... nur 'einfache Anführungszeichen' )
    header('Location: http://www.tld.de/index.php?bla='.$param1.'&foo='.$param2.'');


    oder so: (... nur "doppelte Anführungszeichen" )
    header("Location: http://www.tld.de/index.php?bla=".$param1."&foo=".$param2."");


    EDIT:
    bzw. bei doppelte Anführungszeichen könnte auch das funktionieren:
    header("Location: http://www.tld.de/index.php?bla=$param1&foo=$param2");



    aber nicht
    "
    und
    '
    gemischt :) ... oder ?! ... zumindest kommt sonst bei mir leere Seite (Fehler)

    Die $url für header("Location: ....") baue ich halt vorher zusammen ... richtig escaped ;)
    und setzte diese dann für den Aufruf so ein:
    header ('Location: '.$url.'');


    Aber kann man (muss man) nicht auch einen Redirect-Status angeben (ähnlich wie bei Mod-Rewrite)
    ... wenn ja, wie ? ... 301 oder anderen Wert ?



    Beitrag zuletzt geändert: 29.4.2013 14:43:27 von opsuche
  8. 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!