• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Include Probleme mit PHP5

save

Gast
Hallo Zusammen
Ich habe seit der Umstellung meines Provider Probleme mit Include. Es funktioniert nur noch der else Befehl am Schluss der Seite. Kann mir jemand weiterhelfen?

<?php
if ($clu==s1){
include ("main/home.php");}
elseif ($clu==s2){
include ("main/geschichte.php");}
elseif ($clu==s3)
{include ("main/termine.php");}
elseif ($clu==s4)
{include ("main/aktualitaeten/aktualitaeten.php");}
elseif ($clu==s8)
{include ("main/baustellen/baustellen.php");}
elseif ($clu==s5)
{include ("main/fotogalerie.php");}
elseif ($clu==s6)
{include ("mail/mail.html");}
elseif ($clu==s7)
{include ("main/link.php");}
elseif ($clu==s9)
{include ("mail/mail_fehler.html");}
elseif ($clu==a1)
{include ("main/anlagen/n_anlage/n_anlage.php");}
elseif ($clu==a2)
{include ("main/anlagen/n_anlage/n_anlage.php");}
elseif ($clu==a3)
{include ("main/anlagen/h0_gleich/h0_gleich.php");}
elseif ($clu==a4)
{include ("main/anlagen/h0_wechsel/h0_wechsel.php");}
elseif ($clu==a5)
{include ("main/anlagen/jugend/jugend.php");}
elseif ($clu==a6)
{include ("main/anlagen/bahn_quer/bahn_quer.php");}
elseif ($clu==a7)
{include ("main/anlagen/meca_drome/meca_drome.php");}
elseif ($clu==a8)
{include ("main/anlagen/0_modul/0_modul.php");}
elseif ($clu==a9)
{include ("main/anlagen/1_modul/1_modul.php");}
elseif ($clu==a10)
{include ("main/anlagen/maerklin_70er/maerklin_70er.php");}
elseif ($clu==i1)
{include ("main/informationen/mitglied/mitglied.php");}
elseif ($clu==i2)
{include ("main/informationen/mitglied/mitglied.php");}
elseif ($clu==i3)
{include ("main/informationen/anfahrt/anfahrt.php");}
elseif ($clu==i4)
{include ("main/informationen/bar/bar.php");}
elseif ($clu==i5)
{include ("main/informationen/sponsoring/sponsoring.php");}
elseif ($kon==k1)
{include ("kontakt/kontakt_auswerten.php");}
elseif ($clu==i6)
{include ("main/informationen/download/download.php");}
else
{include ("main/home.php");}
?>
 

Hobbes_

Gast
probiers mit mit $clu=='s1' (und so weiter natürlich)

Das scheint mir auch der Schlüssel zum Erfolg zu sein.

Ein weiteres Problem könnte sein, dass register_globals beim neuen Provider wahrscheinlich ausgeschaltet ist (wie es korrekterweise sein sollte!) und beim alten fälschlicherweise eingeschaltet war.

Eineschaltetes register_globals erlaubt es Dir, einen Parameter direkt als Variable zu verwenden, was zahlreiche Tore für Sicherheitsprobleme öffnet. Deshalb sollte es immer ausgeschaltet sein, und die Parameter eigenständig eingelesen werden.

Siehe PHP-Dokumentation bzgl superglobals ($_GET, $_POST,$_SERVER, etc.)

------

Daneben ist so eine if-Schlange nicht wirklich effizient bzw. erweiterungsfreundlich. Besser scheint mir ein Array zu sein. Dieses kannst Du dann noch weiter abstrahieren, zB. einlesen aus einer Datenbank oder einem Text-File, so dass Du bei Ergänzungen nicht immer den eigentlichen Code ändern musst...

Code:
<?
$jumpList = array("s1" =>"main/home.php", "s2" => "main/geschichte.php", undsoweiter);

$clu=$_GET['clu']; // oder $_POST['clu'], wenn Die Variable per POST übermittelt wird.

if($clu != "")
{
    $jump=$jumpList[$clu];
}
else
{
    $jump="";
}

if($jump != "")
{
    include($jump);
}
else
{
  // Fehlermanagement wegen falschem / fehlendem Input-Parameter
  include ("main/home.php");
}
?>

just my 2 cents
 
Zuletzt bearbeitet von einem Moderator: