Gobale Variabel für rekursives Skript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gobale Variabel für rekursives Skript

    Hallo Leute,

    Ich habe folgendes Problem : ich möchte einen Wert, der vom Besucher einer Website angegeben wird, im Skript speichern um damit wieder zugreifen zu können.

    Im Detail :

    Ich entwickle eine kleine Website, die aus einer Hauptdatei home.php besteht und den Inhalt mit Include Befehlen konstruiert.

    Das heisst, es wird zum Aufbau des Inhalts immer diese einzige home.php Datei aufgerufen, die den Inhalt (z. B. "Jobs" und "Contacts") mittels Get-Parameter wie home.php?thema=jobs ermittelt und die dazu gehörige Info im Include Befehl festlegt.

    Nun mein Problem :

    Ich möchte dem Benutzer die Möglichkeit geben, die Sprache der Website festzulegen (z. B. deutsch und english).

    Ich möchte aber verhindern, dass ich danach bei jedem Link auf der Website ein GET-Parameter wie "...&lang=de" anhängen muss, damit der Inhalt auch auf deutsch kommt, sondern nur die Sprache "einmal" definieren müssen (wenn Defaultsprache nicht ok ist) und dann dieser Wert $Language immer benützen zu können.

    Deswegen dachte ich an eine Global Variabel, habe es aber nicht geschafft, dass der Wert erhalten bleibt : bei jedem Reload von home.php wird die Sprache zurück auf deutsch gesetzt.

    Siehe dazu die Files Inhalte :


    home.php
    =========================================

    <?php

    //________________________________________________________
    // Cache control

    header("Cache-control: private"); //IE 6 Fix
    header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache"); // HTTP/1.0

    //________________________________________________________
    // Define global vars

    global $Language;

    //________________________________________________________
    // Includes and initialization

    if($_GET['lang']){
    $Language = $_GET['lang'];
    }
    if($_GET['thema']){
    $Thema = $_GET['thema'];
    }

    if(!$Language){
    $Language = "de";
    }

    //________________________________________________________
    // Start HTML output

    echo("

    <html>
    <head>");

    if($Language == "fr"){
    echo("<title>Bonjour !</title>");
    }
    elseif($Language == "en"){
    echo("<title>Hello !</title>");
    }
    else{
    echo("<title>Hallo !</title>");
    }


    echo("
    </head>

    <body>");

    if($Language == "fr"){
    echo("Veuillez choisir :");
    }
    elseif($Language == "en"){
    echo("Please chose :");
    }
    else{
    echo("Bitte wählen :");
    }

    echo("
    <br>
    ");

    if($Thema == "jobs"){
    include("jobs.php");
    }
    if($Thema == "contacts"){
    include("contacts.php");
    }

    echo("

    <a href='home.php?thema=jobs'>Jobs</a>
    <br>
    <a href='home.php?thema=contacts'>Contacts</a>

    <br>
    <br>
    <a href='home.php?lang=en'>English</a>
    <br>
    <a href='home.php?lang=de'>Deutsch</a>
    <br>
    <a href='home.php?lang=fr'>Französisch</a>

    </body>
    </html>

    ");
    ?>


    jobs.php
    ==============================================

    <?php

    if($Language == "fr"){
    echo("Page Emplois");
    }
    if($Language == "de"){
    echo("Jobs Seite");
    }
    if($Language == "en"){
    echo("Jobs Page");
    }

    echo("<br><br>");

    ?>


    contacts.php
    ============================================

    <?php

    if($Language == "fr"){
    echo("Page Contacts");
    }
    if($Language == "de"){
    echo("Contacts Seite");
    }
    if($Language == "en"){
    echo("Contacts Page");
    }

    echo("<br><br>");

    ?>


    Kann mann dieses Problem mit einer "globalen Variabel" lösen oder muss mann umbedingt Sessions anwenden (möchte ich lieber nicht wegen den Links in den Bookmarks) ?

    Besten Dank für Eure wertvolle Hilfe !

    OdinTheGreat
Lädt...
X