Zitat:
Zitat von tinasharma18hh
ich will ja einfach nur sagen:
wenn man mit iexplorer arbeiter --> dann soll man auf die index.php
ansonsten -->meldung:nutzen sie den iexplorer
|
Ich will aber nicht umgeleitet werden, nur weil mein Opera sich manchmal als MSIE tarnt ...
... und nu?
Wenn schon Umleitung, dann eine, auf die auch wirklich nur der echte Internet Explorer reagiert.
Zitat:
daran liegts leider auch net habs schon versucht...
ich verzweifel...
|
Die Fehlermeldung sagt doch klar, WO der Fehler liegt, und WAS falsch gemacht wurde.
Benutze eine Editor mit Syntax-Highlighting und lerne, Quellcode richtig einzurücken. Dann fällt dir der Fehler sofort ins Auge.
Das Mischen von PHP-Script-Code und HTML-Ausgaben mit diesen schrecklichen "?>"- und "<?php"-Tags ist schlechter Stil und führt immer wieder zu Problemen. Gewöhne dir das lieber ab. Programmlogik und Text-Ausgaben sollten besser getrennt sein.
Du solltest dich ebenfalls nocheinmal mit (Daten-)Typen und Rückgabewerten von Funktionen in PHP beschäftigen. Deine If-Bedingung, die strpos() nutzt, ist zwar sehr kreativ, funktioniert aber nur, weil die User-Agent-Kennung in der Praxis nicht mit den Zeichen "MSIE" beginnt und weil PHP beim Vergleichen mit "==" vor dem Vergleich die Datentypen heimlich umwandelt. Strpos() gibt im Erfolgsfall immer eine Ganzzahl (Integer) zurück, niemals TRUE.
Was ich nicht verstehe: Wieso schließt du Benutzer anderer Browser aus? Die können auch mit Sessions umgehen.
PHP-Code:
<?php
// ich habe den if- und den else-Teil vertauscht,
// so erscheint mir das Script uebersichtlicher
if (!is_int(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE'))) {
?>
Bitte benutzen sie das Schrottteil von MSFT
<?php
exit();
}
else {
//wenn iExplorer
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
if ($username=="ABC" AND $password=="DEF") {
$_SESSION['user'] = $_POST['username'];
if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
if (php_sapi_name() == 'cgi') {
header('Status: 303 See Other');
}
else {
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index2.php');
}
}
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/content/menue.php');
exit;
}
}
}
?>
Der Seiteninhalt
<?php
// weiterer PHP-Kram
?>