Hallo,
neben den Posts von den anderen auch noch mal ein paar Hinweise von mir.
Die felder werden mit javascript auf korrektheit geprüft
Dass nur eine Javascript-Prüfung schlecht ist hast du ja mittlerweile schon gelernt. Aber wenn sie eh schon da ist, dann verfeinere sie und lasse sie da, wenn du denkst, dass es für die User hilfreich ist. Vor allem bei längeren Formularen ist es z.B. nicht hilfreich, wenn der User 10 Alerts bekommt. Da wäre eine Einfärbung sicher besser...
Die Prüfung auf dem Server ist dann schon der 1. Schritt, injections zu vermeiden.
die nachricht wird auch versendet, nur leider ohne inhalt und der teil mit der AR funzt auch nicht wirklich.
Arbeite bitte an deinen Problembeschreibungen. Du gibts heir sehr wage Beschreibungen ab und postest 3 Meter Quelltext. Das darf man meiner Meinung nach nicht bringen, wenn man kostenlose Hilfe erwartet.
Also: Was heißt "funzt nicht"? Was heißt überhaupt AR? Was heißt "ohne Inhalt" - kommen nur die eingegebenen Daten nicht an, oder steht gar nix in der Mail?
ausserdem würd ich gerne das, dass fenster sich nach 5 sek oder so schließt. ist aber imom eher optional.
Das mag in Einzelfällen vielleicht OK sein. Generell finde ich das aber schlecht. Der User erwartet eine Statusmeldung, ob der Versand der Mail geklappt hat nachdem er auf Senden geklickt hat. Nicht jeder liest das so schnell. Vielleicht denkt er auch, das Fenster ist einfach so verschwunden und probiert es nochmals. Es kann also für Verwirrung sorgen.
Formular.html:
<form name="mailer" action="Senden.php" target="_new" method="POST" enctype="text/plain">
...
</form>
>
Das ist bei deiner Problembeschreibung nur zu kleinsten Teilen relevant. Also wieso posten?
> Hier der JavaScript teil im <head> teil vom formular.html:
>
> ~~~javascript
> <SCRIPT LANGUAGE="JavaScript">
> ...
> if(document.mailer.d_email.value.indexOf('@')==-1 ||document.mailer.d_email.value.indexOf('.')==-1)
> {
> alert ("Eine gültige Emailadresse muss ein \n '@' (At-Zeichen)und einen '.' (Punkt)\n enthalten.");
> document.mailer.d_email.focus();
> return false
> }
>
>
> var zeichen="/ ;:,äüö";
> eingabe=document.mailer.d_email.value;
> laenge=eingabe.length;
>
> for( i=0;i<laenge;i++ )
> {
> badchar=eingabe.charAt(i);
> if (zeichen.indexOf(badchar)>-1)
> {
> alert("Die Zeichen \n Slash(/),\n Doppelpunkt (:),\n Semikolon (;),\n Komma (,)\n und Leerzeichen ( )\n sowie deutsche Umlaute (ä,ü,ö) \n sind in einer Email nicht erlaubt." );
> document.mailer.d_email.focus();
> return false;
>
> }
>
> }
>
> atPosition=document.mailer.d_email.value.indexOf('@');
>
> if(document.mailer.d_email.value.indexOf('@',atPosition+1)>-1)
> {
> alert ("Du hast mehr als ein '@-Zeichen' eingegeben.");
> document.mailer.d_email.focus();
> return false
> }
>
>
> if(document.mailer.d_email.value.indexOf('.',atPosition)==-1)
> {
> alert ("An irgendeiner Stelle NACH dem '@-Zeichen' sollte ein Punkt folgen.");
> document.mailer.d_email.focus();
> return false
> }
>
> punktPosition=document.mailer.d_email.value.lastIndexOf('.');
>
> if(punktPosition+3>document.mailer.d_email.value.length){alert("Nach dem Punkt müssen noch mindestens 2 Zeichen folgen.")
> return false};
>
> if(punktPosition+5<document.mailer.d_email.value.length){alert("Bitte mindestens 2, aber NICHT mehr als 4 Zeichen nach dem Punkt.\n Zum Beispiel: \ meinemail@.de \n meinemail@.com \n meinemail@.info\n")
> return false};
>
> </script>
>
Das ist bei deiner Problembeschreibung völlig irrelevant.
Man kann hier aber Fehler erkennen. Auf SelfHTML gibt es einen Artikel darüber wie unsinnig eine solche Mail-Adressen-Validierung ist - den solltest du mal suchen und lesen.
Gruß
Alex