abfrage einer GET_Variable auf existenz prüfen

puschelchen

Erfahrenes Mitglied
Hi,
ich hab ein Problem bei einer GET_Variable zu überprüfen. Überprüft ob die Variable existiert wird mit isset das weis ich. Die GET_Variable enthält "Sprachen" z.B. "DE" "EN" "FR" "ES" und "IT".
Nun möcht ich abfragen wenn keines davon existiert automatisch Englisch sonst eben die 5 verschiedenen.
Mein Code sieht nun so aus:
Code:
<?php
        session_start();
        if(!$_SESSION['dpSessionId'])
        {
                $_SESSION['dpSessionId'] = session_id();
        }

$_SESSION['update'] = true;
if (isset($_GET['dpLang'])){
$_GET['dpLang']="DE";
}
else
{
$_GET['dpLang']="EN";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
<html>
        <head>
                <link rel="stylesheet" type="text/css" href="dpStyle.css">
                <?php
                        /**
                                '---------------
                                * Language php *
                                '---------------
                        */

                        require_once("dplanguages.php");

                        // detect language
                        require_once("dpLanguageParameter.php");

                        // import the language buttons
                        require_once("dpLanguageButtons.php");

                        /**
                                '---------------
                                * Language php *
                                '---                        /**
                                '---------------
                                * Language php *
                                '---------------
                        */

                        echo '<title>',dpGetText($dpLang, "start04"),'</title>';
                ?>
</style>
        </head>
Die Variable kommt aus der Datei dplanguages.php.
Ich hoff jemand hat ne Idee oder kann mir sagen welche Doku hilft.
 
Zuletzt bearbeitet:
Ein Array mit allen möglichen Sprachen erstellen und dann gegen diesen Array prüfen
PHP:
$validLangArray = array('EN', 'DE', 'ES');
$default_Lang = 'EN';

if(isset($_GET['dpLang']) && in_array($_GET['dpLang'], $validLangArray)){
    $lang = $_GET['dpLang'];
}else{
    $lang = $default_lang;
}
 
bekomme Folgende Fehler:

Notice: Undefined index: GR in /srv/www/htdocs/epay/dplanguages.php on line 19
Notice: Undefined index: GR in /srv/www/htdocs/epay/dplanguages.php on line 19
PHP:
        // set language to german if not defined
        if(!$_SESSION['dpLang'])
                $_SESSION['dpLang'] = "DE";

        // returns the required text for the given language
        function dpGetText($lang, $mark)
        {
    global $dpLanguage;
                $dpReturn = $dpLanguage[strtoupper($lang)][strtoupper($mark)];
    if(!$dpReturn)
      $dpReturn = $dpLanguage["DE"][strtoupper($mark)];

    return $dpReturn;
        }
is der Code von der dplanguages.php
 
Zuletzt bearbeitet:
item: Das sind keine Fehler sondern Hinweise.
item: Was steht auf Zeile 15? Zeig doch mal wie du das eingebunden hast. Ich kann nämlich nicht hellsehen.
 
item: Es sind immer noch keine Fehlermeldungen, sondern Notizen, ein Hinweise!

item: Ind einem geposteten Code sehe ich nicht, dass du mein Vorschlag umgesetzt hast.

item: Welches ist denn die Ziele 19?

item: Du solltest es langsam kennen. Um PHP-Code lesbar zu machen, verwendet man die Tags [PHP]...[/PHP].
 
PHP:
              $dpReturn = $dpLanguage[strtoupper($lang)][strtoupper($mark)];
Zeile 19.
Ok ich hab den Code nun weiter oben denn der war weiter unten nun wenn ich an die dpLang= GR als Beispiel hänge bekomm ich
Notice: Undefined index: in /srv/www/htdocs/epay/dplanguages.php on line 24
und das ist eben nun die Zeile 19.
 
Mach mal ein var_dump() auf $dbLanguage und auf $lang sowie auf $mark.
Dann wirs du sehen dass entweder $lang in $dbLanguage nicht gefunden wird, oder mark in $dpLanguage[strtoupper($lang)] nicht vorhanden ist.

Also, ran ans Zeug und das Resultat hier posten
PHP:
var_dump($dpLanguage, $lang, $mark);
 
array(56) { ["LANGUAGE"]=> string(7) "Deutsch" ["FLAG"]=> string(25) "Sprache wechseln: Deutsch" ["START01"]=> string(45) "

usw usw.
also gibt alle Felder die ich definiert hab aus
$lang und $mark gibt nix aus nur $dpLanguage
 
Zuletzt bearbeitet:
....... AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH .....
Jetzt gehts mir ein klein wenig besser.

Ich bitte dich, mach jetzt einfach das worum ich dich gebeten habe. genau das und nix anderes. Ich will diese Infos nicht aus Spass, sondern ich brauch sei um dir zu helfen!

Du verhälst dich im Moment etwa so
Patient: Herr Arzt, ich habe Schmerzen
Arzt: ja wo tut es denn Weh
Patient: am Körper
 
Zurück