Keita
Lt. Commander
- Registriert
- Dez. 2006
- Beiträge
- 1.293
Laß einfach die <br/>s weg, dann hast du schon mal eine saubere Trennung 
Für die Ausgabe der Fehlermeldung gilt wie für alles, was applikationsseitig zusammengeschustert und en bloc ausgegeben werden soll/muß: einfach vorher zusammenpappen:
Was für die <br/>s gilt, gilt auch für Entities wie ü, diese sind sowieso überflüssig und stammen aus Zeiten, als Amerikaner unwillens waren Umlaute auf ihren Tastaturen zu suchen (na gut, der Wille ist immer noch nicht da und Umlaute finden sie auch heute nicht, aber who cares...).
Im Prinzip kannst du auch $error weglassen, da sich in diesem Fall ein Fehler durch den Inhalt von $errormessage herleiten läßt:
Mit der Ausgabe der Fehlermeldung(en) bist du an einer Stelle angekommen, an der du dein Templatesystem um eine Iteration(smöglichkeit) erweitern mußt, d.h. du brauchst ein Mechanismus, um ein Template-Schnipsel mehrere Male hintereinander aufzurufen. Altenativ kannst du auch ein Mini-Template für Fehlermeldungen stricken:
ziemlich klein und eigentlich albern, aber ist der schnellste Weg, um das ganze über die Bühne zu bringen:
Wenn $errormessage leer ist, enthält $errMsg nur einen Leerstring, andernfalls die Fehlermeldungen jeweils mit einem <br/> am Ende. Nun kannst du die Meldung (egal ob leer oder nicht) in das eigentliche Template einsetzen, sprich {FORM_ERRORMESSAGE} ersetzen.
Wie du siehst, wird das ganze recht umfangreich und zudem unübersichtlich, damit du nicht in die falsche Richtung rennst, solltest du dir besser vorher einige Template-Systeme anschauen, denn Templates gehören nicht zu den (eigentlichen) Daten und sollten daher von ihnen getrennt werden...
greetings, Keita

Für die Ausgabe der Fehlermeldung gilt wie für alles, was applikationsseitig zusammengeschustert und en bloc ausgegeben werden soll/muß: einfach vorher zusammenpappen:
PHP:
// immer vorher initialisieren!
$error = false;
$errormessage = array();
if (empty($firstname))
{
$error = true;
$errormessage[] = "Bitte gib deinen Vorname ein!";
}
elseif (strlen($firstname) < 3)
{
$error = true;
$errormessage[] = "Dein Vorname ist zu kurz!";
}
if (empty($lastname))
{
$error = true;
$errormessage[] = "Bitte gib deinen Nachnamen ein!";
}
elseif (strlen($lastname) < 3)
{
$error = true;
$errormessage[] = "Dein Nachname ist zu kurz!";
}
if (empty($email))
{
$error = true;
$errormessage[] = "Bitte gib deine E-Mail-Adresse ein!";
}
elseif (preg_match($email_pattern, $email) == 0)
{
$error = true;
$errormessage[] = "Deine E-Mail-Adresse ist ungütig!";
}
if (empty($message))
{
$error = true;
$errormessage[] = "Bitte gib deine Nachricht ein!";
}
elseif (strlen($message) < 10)
{
$error = true;
$errormessage[] = "Deine Nachricht ist zu kurz!";
}
Was für die <br/>s gilt, gilt auch für Entities wie ü, diese sind sowieso überflüssig und stammen aus Zeiten, als Amerikaner unwillens waren Umlaute auf ihren Tastaturen zu suchen (na gut, der Wille ist immer noch nicht da und Umlaute finden sie auch heute nicht, aber who cares...).
Im Prinzip kannst du auch $error weglassen, da sich in diesem Fall ein Fehler durch den Inhalt von $errormessage herleiten läßt:
PHP:
if (sizeOf($errormessage)) {
echo 'Große Kacke am Dampfen!';
}
Mit der Ausgabe der Fehlermeldung(en) bist du an einer Stelle angekommen, an der du dein Templatesystem um eine Iteration(smöglichkeit) erweitern mußt, d.h. du brauchst ein Mechanismus, um ein Template-Schnipsel mehrere Male hintereinander aufzurufen. Altenativ kannst du auch ein Mini-Template für Fehlermeldungen stricken:
Code:
{ERROR_MESSAGE}<br />
ziemlich klein und eigentlich albern, aber ist der schnellste Weg, um das ganze über die Bühne zu bringen:
PHP:
// errormessage.tpl enthält den Einzeiler von oben
$tpl = file_get_contents('errormessage.tpl');
$errMsg = '';
if (sizeOf($errormessage)) {
foreach ($errormessage as $msg) {
$errMsg .= str_replace('{ERROR_MESSAGE}', $msg, $tpl);
}
}
Wenn $errormessage leer ist, enthält $errMsg nur einen Leerstring, andernfalls die Fehlermeldungen jeweils mit einem <br/> am Ende. Nun kannst du die Meldung (egal ob leer oder nicht) in das eigentliche Template einsetzen, sprich {FORM_ERRORMESSAGE} ersetzen.
Wie du siehst, wird das ganze recht umfangreich und zudem unübersichtlich, damit du nicht in die falsche Richtung rennst, solltest du dir besser vorher einige Template-Systeme anschauen, denn Templates gehören nicht zu den (eigentlichen) Daten und sollten daher von ihnen getrennt werden...
greetings, Keita