If Require problem

Malaxo

Erfahrenes Mitglied
Hallo

Zuerst mal Code:P :

HTML:
<a href="?name=1"><img src="bilder/wissenwertes/wissenwertes1_g.jpg" border="0" name="austausch1" alt="1"></a>
<a href="?name=2"><img src="bilder/wissenwertes/wissenwertes2_g.jpg" border="0" name="austausch2" alt="2"></a>
<a href="?name=3"><img src="bilder/wissenwertes/wissenwertes3_g.jpg" border="0" name="austausch3" alt="3"></a>

PHP:

PHP:
if(isset($_GET[name])==1){
								require "1.php";
							}
							elseif(isset($_GET[name])==2){
								require "2.php";
							}
							elseif(isset($_GET[name])==3){
								require "3.php";
							}

es gibt mir aber immer 1.php aus in diesem DIV. Auch wenn ich zuerst auf 3 Klicke kommt 1.php was hab ich da falsch gemacht?

Wenn ich zusätzlich
PHP:
echo $_GET[name];

mache sehe ich immer schön die Richtige Nummer jedoch wird trozdem immer nur 1.php aufgerufen.

Help?
 
[phpf]isset[/phpf] hat kein Return Value auf den Inhalt der Variable, sondern nur TRUE oder FALSE bzw. 1 oder 0. Von daher solltest du es auf diese Weise versuchen:
PHP:
if(isset($_GET['var']) AND $_GET['var'] == 1) {
  # [...]
} elseif(isset($_GET['var']) AND $_GET['var'] == 2) {
  # [etc]
}
 
In solchen Fällen bietet eine Switch-Anweisung meist die elegantere Lösung. Ich machs z.b. immer so:

PHP:
if (isset($_GET['var'] && !empty($_GET['var'])) {
    $var = htmlspecialchars(trim($_GET['var']));
} else {
    $var = false;
}

switch ($var) {
    case '1':
        include 'test1.inc.php';
        break;
    case '2':
        include 'test2.inc.php';
        break;
    default:
        echo 'Ungültigen Modus ausgewählt';
        break;
}

Finde den Code so viel übersichtlicher und vor allem auch besser erweiterbar :)

Im Prinzip ist das zwar Geschmackssache, aber ich finds nunmal viel übersichtlicher ;)
 
Zurück