Hi!
irgendwie war ich gestern nicht mehr ganz auf der Höhe.
Habe jetzt das
error_reporting(E_ALL);
ganz oben in meinem Script angebracht.
Außerdem habe ich im Handbuch das mit den htmlspecialchars() nachgelesen und mir deine Beispiele nochmal richtig angeguckt. Da ich die Zeile mit der Variablen im Text nicht als $error ausgeben sollte, habe ich folgendes gemacht:
"Hallo <b>{".$_POST['username']."}</b>,...
Wäre das so richtig? Eine Fehlermeldung wurde zumindest nicht ausgegeben.
ABER:
Müsste ich nicht alle Zeichen, die was mit HTML zu tun haben in meinem PHP Script mit htmlspecialchars() bearbeiten? Also:
"Hallo <b>{".$_POST['username']."}</b>,...
... <a href=\"anmelden.php\">Anmelden</a>";
Oder ist das falsch gedacht?
Nachdem ich // mysql_close($verbindung); // aus dem Script entfernt habe, kommt auch keine Warnung mehr. Ich dachte, bei PHP muss alles korrekt sein? Warum wird ein (indirekter) Fehler angezeigt, wenn man es korrekt machen möchte? (am Kopf kratz!!)
Ich habe noch eine Frage. Ich möchte, dass meine Besucher beim registrieren ihre Mailadresse mit angeben müssen. Kann ich diesen Codeschnipsel benutzen, um die Richtigkeit der Mailadresse abzufragen?
if(check_email($email))
{
$nonascii = "\x80-\xff"; # Non-ASCII-Chars are not allowed
$nqtext = "[^\\\\$nonascii\015\012\"]";
$qchar = "\\\\[^$nonascii]";
$protocol = '(?:mailto:)';
$normuser = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
$quotedstring = "\"(?:$nqtext|$qchar)+\"";
$user_part = "(?:$normuser|$quotedstring)";
$dom_mainpart = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.';
$dom_subpart = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*';
$dom_tldpart = '[a-zA-Z]{2,5}';
$domain_part = "$dom_subpart$dom_mainpart$dom_tldpart";
$regex = "$protocol?$user_part\@$domain_part";
return preg_match("/^$regex$/",$email);
}
else
{
echo "Du musst eine korrekt E-Mail-Adresse angeben.
echo <a href=\"eintragen.html\">Zurück</a>";
Habe ich hier bei SELFHTML gefunden. Ist das in die if-else-Anweisung richtig eingebunden? Müsste ich hier noch was anpassen?
Kann ich mein Script nochmal einstellen, damit du drüber guckst, ob soweit alles beachtet ist?
Liebe Grüße
Poison