PHP If & include Problem

smf

Euros4you.com
ID: 289135
L
15 Juli 2007
571
40
Hallo,
Ich habe in meinem Script folgendes Problem,
ich möchte, das wenn ich per GET einen Befehl gebe eine Bestimmte Datei includieren.
Also Dachte ich, mach ich eine If abfrage aber hier gibt es ein Problem:
PHP:
    <?php
    if ($_GET["content"] = "games")
    {
        include '/textarea/games.html';
    }
    elseif ($_GET["content"] = "programs") 
    {
        include '/textarea/programs.html';
    }
    elseif ($_GET["content"] = "scripte")
    {
        include '/textarea/scripte.html';
    }
    elseif ($_GET["content"] = "about")
    { 
        include '/textarea/about.html';
    }
    elseif ($_GET["content"] = "press")
    {
         include '/textarea/press.html';
    }
    else
    {
        include '/textarea/content.html';
    }
    ?>
Falls das jemand Lösen könnte wäre ich sehr dankbar!
 
Hallo,

Da, du dein Problem nicht näher beschrieben hast (Ausgabe von PHP bzw. Beschreibung was passiert wäre in zukunft hilfreich ;) ), gehe ich mal davon aus, dass immer die zuerst definierte Seite geladen wird (games).
Das liegt daran, dass man in PHP 2 Strings mit "==" vergleicht und nicht nur mit "=" (das ist lediglich zum zuweisen von Werten).

Abgesehen davon würde ich das ganze entweder mit einer switch-Anweisung lösen, oder ein Array als "Whitelist" definieren, so dass der übergebene Parameter, sofern es sich um eine gültige Seite handelt, dann direkt inkludiert werden kann.

Bsp zu letzterem:
PHP:
$pages = array('games', 'programs', ...);
if(in_array($_GET['content'], $pages){
    include '/textarea/'.$_GET['content'].'.html';
}
else {
    include '/textarea/content.html';
}

Hoffe geholfen zu haben.

Gruß
Claudi