lulu: Automatische Weiterleitung je nach User mit PHP & .htaccess?

Beitrag lesen

Huhu Juan

Dein Skript kann noch entscheidend verbessert werden.

<?

short Tags sind weniger gut, da diese Option nicht vorausgesetzt werden kann. Besser immer "<?php" schreiben.

if ($_ENV{'REMOTE_USER'} == userA) {

hier fehlen Anführungen, es soll vermutlich ein String "userA" verglichen werden und nicht die Konstante userA, oder?

echo '<meta http-equiv="refresh" content="0;URL=/dir/a/index.html">';

client-seitige Techniken zur Weiterleitung sind sehr schlecht, hier besser einen entsprechenden Header schicken.
(Dannach das Skript mit exit() beenden.)

}

if ($_ENV{'REMOTE_USER'} == userB) {
echo '<meta http-equiv="refresh" content="0;URL=/dir/b/index.html">';
}

else {

hier vermutlich ein logischer Fehler: in dieses "else" wird auch verzweigt, wenn der 'REMOTE_USER' == 'userA' ist.

echo 'dieser user hat keine startseite';
echo $_ENV{'REMOTE_USER'};
}

Was machst Du wenn noch weitere User hinzukommen?
Hier würde sich zur Lösung der Aufgabe ein Switch anbieten, oder noch besser ein Array der Form 'userX' => 'target'.
Dann muss das Programm nur "schauen", ob es zum aktuellen User ein
Element im Array gibt (Weiterleitungsziel) und ihn entsprechend weiterleiten.
Ansonsten gibt es z.B. ein Default-Ziel, oder Fehlermeldung.

Array-Indizes werden in PHP üblicherweise in []-Klammern gesetzt.
{}-Klammern funktionieren zwar auch, sind aber eher Perl-Syntax o.ä. wenn ich mich nicht irre?

?>

Viele Grüße

lulu

--
bythewaythewebsuxgoofflineandenjoytheday