Ich benutze meine eigene Methode seit Jahren, aber ich dachte mir, vielleicht ist es nicht der beste Weg, das zu tun.Was ist eine gute Möglichkeit, um Fehler/Nachrichten an Benutzer in PHP zu zeigen?
Im Wesentlichen, wenn ich einen Fehler an einen Benutzer oder Anzeige Bestätigung einer erfolgreichen Aktion werfen will, muss ich folgendes tun:
if($something == "condition") {
$_SESSION["message"] = "Your passwords didnt match! Make sure they are the same in both fields!";
$_SESSION["message_type"] = 1;
header("Location:register.php");
exit();
}
dann habe ich eine Funktion wie
function show_message() {
global $_SESSION;
if (isset($_SESSION["message"])) {
echo "<div class='site_message type_" . $_SESSION["message_type"] . "'>" . $_SESSION["message"] . "</div>";
unset($_SESSION["message"]);
unset($_SESSION["message_type"]);
}
}
und Ich legte show_message(); oben auf jeder Seite, um mögliche Fehler anzuzeigen, die auf diese Seite geworfen werden könnten.
Was sind die möglichen Probleme damit?
Was ist, wenn die Sitzung nicht funktioniert, da der Client keine Cookies akzeptiert? – Gumbo
Ich war unter dem Eindruck, dass php das durch die Weitergabe von SID durch die URL behandelt. EDIT: Mein Eindruck war falsch, es hat nicht funktioniert. : o –
Das Einzige, was ich hinzufügen würde, wäre, diese Funktionen in Methoden einer dedizierten Klasse umzuwandeln. Auf diese Weise verwendetes Messaging wird in verschiedenen Frameworks häufig als Flash-Messaging bezeichnet. Dies könnte die Basis Ihrer FlashMessage-Klasse sein. –