2017-02-27 23 views
0

ein Problem zu haben, das mit dem folgenden Skript zu tun hat:Ereignis Nach erfolgreicher Anmeldung PHP

if ($getUserType == "Admin") { 
    header("Location: overall_lascruses_users_list.php"); 
    exit(); 
} elseif ($getUserType == "LCLEmployee") { 
    header("Location: overall_lascruses_users_list.php"); 
    exit(); 
} elseif ($getUserType == "Site_Admin") { 
    header("Location: initial_admin_manage.php?id='.$_SESSION['LasCrusesUserID'].'"); 
    exit(); 
} elseif ($getUserType == "Site_Manager" || $getUserType == "Site_User") { 
    header("Location: Control_Panel_list.php"); 
    exit(); 
} 

Wie das funktioniert, ist die folgende:

nachdem sich ein Benutzer anmeldet, ist es die aufgreift Benutzerrolle und dann umgeleitet zu einem anderen Bildschirm entsprechend seiner Rolle.

Das Skript funktionierte gut, bis er den folgenden Teil wurde hinzugefügt:

header("Location: initial_admin_manage.php?id='.$_SESSION['LasCrusesUserID'].'"); 

Was ist hier falsch ist?

Hinweis: $_SESSION["LasCrusesLocal_UserID"] = $data["lasCrusesUserID"];

Hinweis:

. Es kann kein Duplikat sein, sobald ich weiß, wie das andere Q/A funktioniert, aber das hat mir immer noch nicht geholfen, das Problem zu beheben.

. Das Problem hier war auf einem Debug-Level, den Fehler komplett verpasst.

. Nachdem wir 6 Stunden damit verbracht hatten herauszufinden, was nicht in Ordnung war, beschlossen wir, in der Gemeinde nach Hilfe zu fragen, um herauszufinden, was genau falsch war, nur um der Gesundheit willen.

. Alles in allem ist das einzigartig und ich danke denen, die mir helfen, es sofort zu reparieren. beweist nur einmal mehr diese Gemeinschaft funktioniert immer noch für die Geldbuße, die echte Probleme haben, die

+0

warum setzen Sie den Sitzungswert in die URL? Warum liest du nicht einfach die Sitzung? könnte ein großes Sicherheitsproblem sein – nogad

+3

anstelle von '" Ort: initial_admin_manage.php? id = '. $ _ SESSION [' LasCrusesUserID '].' ", verwenden' 'Ort: initial_admin_manage.php? id =". $ _ SESSION [' LasCrusesUserID '] 'Du hast ein Anführungszeichen! – castis

+4

Mögliches Duplikat von [Was ist der Unterschied zwischen einfachen und doppelten Anführungszeichen in PHP?] (Http://stackoverflow.com/questions/3446216/what-is-the-difference-between-single-quoted-and) -double-quoted-strings-in-php) – castis

Antwort

0

Stunden Arbeit nehmen diese:

header("Location: initial_admin_manage.php?id='.$_SESSION['LasCrusesUserID'].'"); 

sollte wie folgt aussehen:

header("Location: initial_admin_manage.php?id=".$_SESSION['LasCrusesUserID']); 

seee die einzige , doppelte Anführungszeichen in phph sie handeln nicht das selbe

Sie können ein var innerhalb des doppelten Zitats setzen und es wird wie h behandelt ist var selbst aber nicht in einfachen Anführungszeichen (in den meisten Fällen sowieso, hängt von Ihrer Konfiguration ab).

+0

Siehe die Links castis in den Kommentaren oben über Zitate veröffentlicht. –

Verwandte Themen