Mfrank: Denkfehler ??? Guckt bitte mal rein ;-)

Hallo

Ich sitze gerade an einer zweisprachigen Seite...
Für das Umschalten zwischen den beiden Sprachen möchte ich die Variable $lang jeweils auf "d" oder "e" setzen.
Das Wechseln soll über einen link geschehen, der auf einer Flaggengrafik liegt und je nachdem, ob $lang=e oder d ist soll die entsprechende Flagge angezeigt werden... irgendwie will das aber nicht !?
So hab ich es vor:

if(!isset($lang))
    $lang = $d;       // 1
$d = "<img src='images/flag_g_e.gif' width='60' height='24' border='0' alt=''>";  // 2
$e = "<img src='images/flag_g_e.gif' width='60' height='24' border='0' alt=''>";  // 3

1: initial ist die Sprache D(eutsch)
2: der Variable $d wird das passende Bild zugewiesen
3: wenn die Seite mit $lang=e aufgerufen wird, kommt eine andere Flagge

Kann mir einer sagen wo mein Denkfehler liegt ??

Danke

Gruss
Frank

  1. hi

    Das Wechseln soll über einen link geschehen, der auf einer Flaggengrafik liegt und je nachdem, ob $lang=e oder d ist soll die entsprechende Flagge angezeigt werden...
    irgendwie will das aber nicht !?

    was will nicht was funktioniert nicht? Was passiert? Fehlermeldung?

    So hab ich es vor:
    if(!isset($lang))

    if(!isset($_GET["lang"]))
    {

    $lang = $d;       // 1
    $d = "<img src='images/flag_g_e.gif' width='60' height='24' border='0' alt=''>";  // 2
    $e = "<img src='images/flag_g_e.gif' width='60' height='24' border='0' alt=''>";  // 3

    }
    per echo $d bzw $e ausgeben nicht vergessen (wobei in beiden Fällen das geleiche ausgebenen wird)

    wobei es etwas umständlich ist entweder $d oder $e auszugeben (da musst du dann vorher prüfen welche Sprache aktiv ist) besser dürfte es so sein (ungetestet):
    if(!isset($_GET["lang"])||$_GET["lang"]=="d") {
     $sprache = "<a href="seite.php?lang=e"><img src='images/en.gif' width='60' height='24' alt='de'></a>";
    }
    else {
     $sprache = "<a href="seite.php?lang=d"><img src='images/de.gif' width='60' height='24' alt='en'></a>";
    }
    und dann auf der Seite "echo $sprache;"
    Die Bilder habe ich mal en.gif für die englische Flagge und de.gif für die deutsche Flagge genannt (woher soll der user sonst wissen, auf welche Sprache er schaltet wenn der in beiden Fällen die flag_g_e.gif aufruft?

    gruß
    Tobias

    1. (woher soll der user sonst wissen, auf welche Sprache er schaltet wenn der in beiden Fällen die flag_g_e.gif aufruft?

      Tippfehler ;-) einmal g_e einmal e_g *g*
      Aber besten Dank für die Tipps !!!!!

      Gruss
      Frank

  2. Hi  Frank!

    Was gibst du denn aus $d oder $e ? - warum hier zwei unterschiedliche Variablen? Du möchtest doch in Abhängigkeit des Wertes der Variablen $lang eine unterschiedliche Grafik anzeigen oder?

    if(!isset($lang))
        $lang = $d;       // 1

    hier wird der Variablen $lang der Wert von $d zugewiesen...

    $d = "<img src='images/flag_g_e.gif' width='60' height='24'

    aber $d wird erst danach mit einem Wert belegt?

    Gruss Sven

  3. Hi,

    Das Wechseln soll über einen link geschehen, der auf einer Flaggengrafik liegt und je nachdem, ob $lang=e oder d ist soll die entsprechende Flagge angezeigt werden... irgendwie will das aber nicht !?

    Dir ist aber klar, daß Flaggen etwas mit Staaten, aber nicht mit Sprachen zu tun haben?

    Es kann zu einer Sprache mehrere Staaten und damit mehrere Flaggen geben (z.B. Englisch: USA, UK, Kanada, ...), ebenso wie es zu einem Staat und damit einer Flagge mehrere Sprachen geben kann (z.B.: USA - Englisch, Spanisch; UK - Englisch, Welsh, Cornish, Scottisch, Irisch; Kanada - Englisch, Französisch - wobei die Beispiele jeweils nicht vollständig sein müssen).

    cu,
    Andreas