JavaScript Formular an email Adresse senden

Zeboo

Lt. Commander
Registriert
Juli 2008
Beiträge
1.562
Hallo,

ich bin neu... ne ehrlich gesagt mache ich heute zum ersten mal javascript. Ich habe eine Seite "geschenkt" bekommen, was ich führen darf. Da wird beim formular versenden javascript benutzt, leider habe ich da keinen plan. Angeblich hat es mal funktioniert... naja jetzt geht es zumindest nicht.

HTML:
<script type="text/javascript">
function check()
{
  var checked=true;
  var pattern=/.*\@.*\..*/;
                                                              if (checked)
	  {
	    if ((pattern.test(document.sendform.email.value))==false)
        {
		  document.sendform.email.focus();
		  document.sendform.email.select();
          alert ("Bitte geben Sie eine gültige E-Mail-Adresse ein.");
          checked=false;
        }
	  }
              if (checked)
	  {
	    if (document.sendform.email.value=="")
        {
		  document.sendform.email.focus();
		  document.sendform.email.select();
          alert ("Bitte füllen Sie alle Pflichtfelder aus.");
          checked=false;
        }
	  }
                            if (checked)
  {
    document.sendform.method="POST";
    document.sendform.action="mailto:test@gmx.de";
    document.sendform.submit;
  }
  return checked;
} 
</script>

Also eigentlich alles gut, bis auf "document.sendform.action" - da weiß ich nicht was rein soll. Dachte die mail adresse wo das hingeschickt werden soll, aber das geht nicht, wenn ich das so mache, dann öffnet sich thunderbird mit ein formular... ne so sollte das schon nicht sein ^^. Bevor ich das ersetzt habe, stand da eine adresse, also ne webadresse, aber damit ging das auch garnicht.

Vllt kann mir jemand helfen, denke irgendwie dass ich ganz auf der falschen spur bin. Wiegesagt javascript noch nie gemacht.

Ich danke schonmal

Gruß
 
Hi,
naja, ich bin zwar kein JavaScript-Genie, aber wenn ich das richtig verstanden habe, dann sammelt das Script die Daten, bereitet sie vor und sendet sie dann an eine PHP-Datei (welche, so ich vermute, voher in der "document.sendform.action" angegeben wurde) schickt und diese PHP-Datei die E-Mail mit den somit empfangenen Daten, versendet. :D

Gibt es eine PHP-Datei auf die verlinkt wurde?
 
Also eine PHP datei kann ich nicht finden... aber vorher stand bei sendform.action genau "../web-2-date.de/formgateway/index.htm" - aber damit funktioniert das auch nicht
 
Naja, ich vermute mal, das da eben eine PHP-Datei hingehörte. :p

Am besten wird sein, wenn du dich mit dem PHP-Befehl mail außeinandersetzt.

Das JavaScript solltest du vielleicht auch behalten, da es prüft ob die E-Mail-Adresse eingegeben wurde. (Geht natürlich auch mit PHP, aber da ist es vielleicht von Vorteil mit JS zu arbeiten ;))


Schreibe also einfach eine PHP-Datei, die per POST die Daten aus dem Formular ausliest und dann in die E-Mail schreibt.

Falls du Hilfe brauchst, helfe ich gerne ;)
 
@Zeboo: Nächstes mal abmelden(!) - wenn php,javascript zu schwer ist, kann man das doch einfach auf html basis machen
 
Zuletzt bearbeitet:
Antoniker schrieb:
Das JavaScript solltest du vielleicht auch behalten, da es prüft ob die E-Mail-Adresse eingegeben wurde. (Geht natürlich auch mit PHP, aber da ist es vielleicht von Vorteil mit JS zu arbeiten ;))
Generell sollte immer alles in PHP (zusätzlich!) überprüft werden. Es hindert ja niemanden daran, das PHP-Skript ohne Benutzung des Javascripts aufzurufen. Praktisch wäre hier auch ein Captcha, damit man nicht ganz so einfach mit dem eigenen Formmailer zugespammt werden kann.
 
BerniG schrieb:
Generell sollte immer alles in PHP (zusätzlich!) überprüft werden. Es hindert ja niemanden daran, das PHP-Skript ohne Benutzung des Javascripts aufzurufen. Praktisch wäre hier auch ein Captcha, damit man nicht ganz so einfach mit dem eigenen Formmailer zugespammt werden kann.

Natürlich sollte man alle übergebenen Variablen zusätzlich prüfen. Wo wäre ich/man denn wenn man das nicht tun würde?
Aber ich finde es (persönlich) besser, wenn man die Seite nicht zusätzlich nochmal laden muss, nur um eine Fehlermeldung zu bekommen :D

Ohne Frage überprüfe ich die E-Mail per preg_match nochmalig ;)

Und bei Captcha könnte ich dir auch einiges zeigen das die nicht mehr so sicher sind...
Vielmehr der Gebrauch von mehreren "Fallen" sind hier angebracht, zB versteckte Felder in Verbindung mit einem Captcha (aber kein Bild-Captcha sondern ein: Was ergibt: 3+5? etc.)

@ Topic:
Ein kleines Script zum versenden von einer E-Mail (inkl. Variablen-Check) findet man sicher zum freien Download im Internet ;)

Im Notfall schreib' ich das auch, aber nur wenn ich bis zum Wochenende Zeit finde... :freak:

mfg, Michael

EDIT:
Bilde ich mir das nur ein, oder fehlt hier wirklich ein Beitrag?

Nochmals EDIT:
Versteh' schon, ReVo hat seinen Betrag geändert, deswegen stimmt meine Mail nicht mehr ;)
 
Zuletzt bearbeitet: (Siehe Edit)
Antoniker schrieb:
Und bei Captcha könnte ich dir auch einiges zeigen das die nicht mehr so sicher sind...
Ich weiß, ich kenn die einschlägigen Tools, keine Angst ;) Nichtsdestotrotz ist jede vorhandene Hürde besser als gar keine. Fragen (also z.B. Rechnungen oder noch besser: richtige Fragen mit nem Wort als Antwort) sind natürlich je nach Fragestellung meist besser und dürften auch für sehbehinderte Leute lösbar sein im Gegensatz zu Bild-Captchas, die selbst für Normalbürger teils schon unlösbar sind. Ich persönlich würde ja dieses hier empfehlen: http://farm3.static.flickr.com/2174/2268237733_cda4a1dbb3.jpg?v=0 :lol: (vgl. http://www.johnmwillis.com/other/top-10-worst-captchas/ )
 
@BerniG: Also ich find das gut :)
 
@Antoniker: Hi ich würde schon gerne deine hilfe nehmen. Ich kann kein php, nichtmal bisschen. Ich verstehe ehrlich gesagt auch nicht ganz was da passieren soll. Also beim "sendeversuch" wird diese php adresse geladen und dann? Muss man mit php also einen code schreiben, dass er die sachen im formular an person xy schickt? - hört sich schon viel an :freak:

Vllt ist eine einfache non php, non hardcore scriptsprache seite besser ;) - und die prüfungen sind sowas von egal. Das ist eine einfache hobbyvereinsseite.
 
Zurück
Oben