Gunnar Bittersmann: Formular:bekomme keine Email

Beitrag lesen

@@php-beginnerin:

nuqneH

was hab ich bloß falsch gemacht???

Mindestens 3 Dinge. Der Priorität nach:

1.

<input type="text" name="nachname" value="<?php echo $nachname; ?>" style="width:50%;" />

  
Du darfst NIEMALS Nutzereingaben oder andere Werte fremder Herkunft unbearbeitet in HTML-Code schreiben. [NIEMALS](http://de.wikipedia.org/wiki/Cross-Site-Scripting).  
  
Das Mindeste wäre die HTML-[kontextgerechte](http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel) Behandlung mit `[link:http://php.net/manual/de/function.htmlspecialchars.php@title=htmlspecialchars()]`{:.language-php}:  
  
~~~php
  
<input type="text" name="nachname" value="<?php echo htmlspecialchars($nachname); ?>" />

BTW, sämltliche Stilangaben sollten im Stylesheet stehen, nicht inline in @style-Attributen.

2.

if(!empty($err)) {
echo "<p>Bitte korrigieren Sie folgende Fehler:</p>";
foreach($err as $fehler){
echo $fehler;
}[code lang=xml] ?>


> `		<form action="<?php [code lang=php]echo $_SERVER['PHP_SELF'];`{:.language-html} ?>" method="post">[/code][/code]  
  
  
Es macht keinen Sinn, vor dem Formular alle Fehlermeldungen auszugeben und den Nutzer sich dann selbst raussuchen zu lassen, in welchem Eingabefeld er den Fehler berichtigen muss.  
  
Fehlermeldungen sollten direkt beim betreffenden Eingabefeld stehen.  
  
  
3\.  
  

> ~~~php
  

> 	empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" : false;

Schau dir nochmal an, wie der Trinitäts-Operator funktionniert.

Qapla'

--
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)