andreas: Location

Hi,

ich möchte bei einer bestimmten URL Eingabe diese weiterleiten lassen
<?
If ( $SERVER_NAME == "www.adresse.com/test1" )
{
    header("Location: http://www.adresse.com/test2");
}
?>
Was ist hier falsch
Dies ist als erstes auf der Seite plaziert
Ich bekomme nach dem Aufruf diese Seite wieder angezeigt und nicht die im
Verzeichnis test2

Danke
Andreas

  1. Moin Moin !

    If ( $SERVER_NAME == "www.adresse.com/test1" )

    Gib mal $SERVER_NAME aus.

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
    1. Hi,

      also wenn ich das meinem Server test dann klappt das, wenn ich das bei einem Kunden mache bekomme ich eine Fehlermeldung:

      Warning: Cannot add header information - headers already sent by (output started at /var/vweb/htdocs/index.php:9) in /var/vweb/htdocs/index.php on line 12

      #10 If ( $SERVER_NAME = "www.adresse.de/test1" )
      #11 {
      #12    header("Location: www.adresse.de/test2");
      #13 }

      Gruss
      Andreas

      1. Hallo andreas,

        also wenn ich das meinem Server test dann klappt das,

        mit $SERVER_NAME?

        Warning: Cannot add header information - headers already sent by (output started at /var/vweb/htdocs/index.php:9) in /var/vweb/htdocs/index.php on line 12

        du gibst in Zeile 9 was aus und willst in Zeile 12 einen header senden - was natürlich nicht geht.

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Hallo

          also wenn ich das meinem Server test dann klappt das,
          mit $SERVER_NAME?

          ja

          du gibst in Zeile 9 was aus und willst in Zeile 12 einen header senden - was natürlich nicht geht.

          #10 If ( $SERVER_NAME = "www.adresse.de/test1" )
          #11 {
          #12    header("Location: www.adresse.de/test2");
          #13 }

          Zeile9 ist bei mir
          #9 <?
          #10 If ( $SERVER_NAME = "www.adresse.de/test1" )// das gebe ich ein
          #11 {
          #12    header("Location: www.adresse.de/test2");//Das will ich haben
          #13 }
          #14 ?>

          ???
          Andreas

          1. Hallo andreas,

            mit $SERVER_NAME?
            ja

            bei mir gibt $SERVER_NAME zwar was ganz anderes aus, als den Domainnamen, aber gut...

            Zeile9 ist bei mir
            #9 <?

            entweder ist das <? (das im Übrigen besser ein <?php sein sollte) nicht ganz vorne, oder viel wahrscheinlicher gibst du in den Zeilen 1-8 was aus (alles was vor <?php steht wird ausgegeben es darf also vor <?php _nichts_ stehen).

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
            1. tschuldigung

              hatte eine andere version reingestellt

              problem ist fast gelöst

              Danke

            2. und klapp´s?

              mach es so, ich hat´s ausprobiert und es geht!

              <?
              If ( $SERVER_NAME = "http://deine URL/test.php/" ) {
              $loc = "Location: http://www.google.de";
              Header( $loc );
              exit();
              }
              ?>

              Gruß toson

              1. Moin Moin !

                If ( $SERVER_NAME = "http://deine URL/test.php/" ) {

                Auch wenn Du es noch 100 Mal postest, dieser Code IST FALSCH!

                = ist kein Vergleich, = ist eine Zuweisung, header() wird deswegen IMMER aufgerufen. Für einen vergleich benutzt man == oder strcmp()!

                Alexander

                --
                Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
                Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
  2. Hi,

    ich möchte bei einer bestimmten URL Eingabe diese weiterleiten lassen
    <?
    If ( $SERVER_NAME == "www.adresse.com/test1" )
    {
        header("Location: http://www.adresse.com/test2");
    }

    Hi:
    versuchs mal so "==" ist nicht richtig

    If ( $SERVER_NAME = "www.adresse.com/test1" )
    ----------------------------------------------

    oder so

    If ( $SERVER_NAME = "http://191.168.10.7/test.php" ) {

    $loc = "Location: http://190.168.10.7/";
    Header( $loc );
    exit();
    }

    gruß toson

    1. Moin Moin !

      versuchs mal so "==" ist nicht richtig

      If ( $SERVER_NAME = "www.adresse.com/test1" )

      Bist Du Dir ganz sicher, daß das keine Zuweisung von "www.adresse.com/test1" an $SERVER_NAME ist?

      http://www.php.net/manual/de/language.operators.comparison.php sagt: == ist Vergleich.
      http://www.php.net/manual/de/language.operators.assignment.php sagt: = ist Zuweisung.

      Was Du vorschlägst, ist MÜLL. Ich gehe mal davon aus, das PHP einen nicht-leeren String (nämlich das Ergebnis der Zuweisung) als TRUE ansieht, deswegen wird >>header("Location: http://www.adresse.com/test2");<< IMMER ausgeführt.

      Alexander

      --
      Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
    2. Hallo toson,

      versuchs mal so "==" ist nicht richtig

      doch, das ist sehr wohl richtig.

      If ( $SERVER_NAME = "www.adresse.com/test1" )

      damit weist du $SERVER_NAME den Wert "www.adresse.com/test1" zu, was (fast) immer true ergibt und header() dann ausführt.

      "=" ist ein Zuweisungsoperator: http://www.php.net/manual/de/language.operators.assignment.php
      "==" ist ein Vergleichs-Operator: http://www.php.net/manual/de/language.operators.comparison.php

      @andreas: schau mal in das was phpinfo(); ausgibt, da findest du vermutlich das was du brauchst.

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  3. müll, lol

    klappt doch ;)

    <?
    If ( $SERVER_NAME = "http://deinserver/test.php/" ) {
    $loc = "Location: http://www.google.de";
    Header( $loc );
    exit();
    }
    ?>

    gurß toson

    1. Hallo toson,

      If ( $SERVER_NAME = "http://deinserver/test.php/" ) {
      $loc = "Location: http://www.google.de";
      Header( $loc );

      dieses header() wird _immer_ ausgeführ - egal was in $SERVER_NAME drinsteht.

      nur so am Rande, warum schreibst du $loc und dann header($loc) und nicht das was in $loc steht gleich in header()?

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
      1. Hi,

        um eventuell noch vars als sting anzuhängen wie z.B.

        $var = "?1=$1& usw.

        grüße aus Köln
        toson