Ok....also das ganze sieht jetzt so aus:
Funktioniert auch alles einwandfrei.
Wenn ich jetzt irgendeinwert eingebe (zb: lang=reingelegt) bleibt die alte Sprache vorhanden udn es kommt keine fehlermeldung!!!
<?php
// mehr brauchst nicht,
// es sei denn Du willst noch ne Abfrage
// nach der Browsersprache machen
session_start();
$lang_array = array('de-DE', 'en-GB', 'es-ES', 'it-IT', 'fr-FR');
// erster Seitenaufruf ? dann ist die voreingestellte Sprache deutsch
if (!isset($_SESSION['lang'])) $_SESSION['lang'] = 'de-DE';
// Sprachwechsel ? dann Sprache aus GET-Variable übernehmen
if (isset($_GET['lang']) && in_array($_GET['lang'], $lang_array))
{
$_SESSION['lang'] = $_GET['lang'];
}
include ($_SESSION['lang'].'.php');
?>
da ist es eigentlich vollkommen unnötig eine fehlermeldung einzubauen. Entschuldigung ich habe einen Denkfehler gemacht.
Und das ganze kann ich jetzt wie du gesagt hast noch durch is-readable() absichern. Müsste dann so aussehen oder:
<?php
// mehr brauchst nicht,
// es sei denn Du willst noch ne Abfrage
// nach der Browsersprache machen
session_start();
$lang_array = array('de-DE', 'en-GB', 'es-ES', 'it-IT', 'fr-FR');
// erster Seitenaufruf ? dann ist die voreingestellte Sprache deutsch
if (!isset($_SESSION['lang'])) $_SESSION['lang'] = 'de-DE';
// Sprachwechsel ? dann Sprache aus GET-Variable übernehmen
if (isset($_GET['lang']) && in_array($_GET['lang'], $lang_array))
{
$_SESSION['lang'] = $_GET['lang'];
}
if (is_readable($_SESSION['lang'].'.php'))
{
include ($_SESSION['lang'].'.php');
}
else
{
print "Error";
}
?>