GET Variable beim öffnen einer Seite setzen

Gifty43

Erfahrenes Mitglied
Moin

Ich habe eine Seite (index.php) und möchte nun, dass diese unmittelbar nach dem öffnen in dem Adressfenster mit einer GET Variable angezeigt wird.

D.h. sobald ich auf die Seite index.php gehe sollte in der Adressleiste "index.php?lang=0" angezeigt werden.

Über die Konsenquenzen dessen bin ich mir bewusst, ich kann die Funktion auch selber weiter ausbauen, sodass wenn beispielsweise bereits ?lang=1 vorhanden ist, diese Variable net mehr gesetzt wird.

Hat irgendjemand ne Idee?
BIG THX schonma

Gruss
Gifty
 
Hoffentlich sind da jetzt keine Tippfehler drin:
PHP:
<?
$defaultLang=0;
if (!isset($_GET['lang'])) {
    header('Location: http://www.DeineDomain.tld/'
        .$_SERVER['PHP_SELF']
        .'?lang='
        .$defaultLang);
}
//Hier der Code der Seite im Normalfall mit gesetzter GET-Variable
?>
Und hoffentlich habe ich Dein Problem erkannt.

Gruß hpvw
 
Genau das mein ich! Thx :)

Kann man das jetzt auch noch so machen, dass ich zwei der Variablen benutzen kann?
Also index.php?lang=0&cat=0?

Gruss
Gifty
 
Zuletzt bearbeitet:
Jo schon klar^^

Aber wie?

Ich habs jetzt mal wie folgt versucht:

PHP:
  <?
  $defaultLang=0;
  $defaultCat=0;
  if (!isset($_GET['lang'])) {
  	header('Location: index.php'
  		.'?lang='
  		.$defaultLang
  		.'&cat='
  		.'.$_GET["cat"].');
  } 
  if (!isset($_GET['cat'])) {
  	header('Location: index.php'
  		.'?cat='
  		.$defaultCat
  		.'&lang='
  		.'.$_GET["lang"].');
  } 
  ?>

Aber es geht nicht... Nur cat=0 wird angezeigt.
 
Zuletzt bearbeitet:
Ich würde es so machen:
PHP:
<?
    $defaultLang=0;
    $defaultCat=0;

    $reload=false;

    if (!isset($_GET['lang'])) {
        $lang=$defaultLang;
        $reload=true;
    } else {
        $lang=$_GET['lang'];
    }

    if (!isset($_GET['cat'])) {
        $cat=$defaultCat;
        $reload=true;
    } else {
        $cat=$_GET['cat'];
    }

    if ($reload) {
        header('Location: http://www.domain.tld/index.php'
            .'?cat='
            .$cat
            .'&lang='
            .$lang;
    }
?>
Beachte, dass Location nach dem HTTP-Protokoll einen absoluten URI erwartet. Auch wenn mir zur Zeit kein aktueller Browser bekannt ist, der einen relativen URI nicht erkennt, würde ich mich trotzdem an das Protokoll halten.

Gruß hpvw
 
Zurück