formularfelder prüfen und versenden

hallo habe folgenden java-script-code geschrieben:

<script language="JavaScript" type="text/javascript">
   function formtest ()
   {
    var vorname, name, strasse, plz, ort, email;
    vorname=document.abfrage.vorname.value;
    name=document.abfrage.name.value;
    strasse=document.abfrage.strasse.value;
    plz=document.abfrage.plz.value;
    ort=document.abfrage.ort.value;
    email=document.abfrage.email.value;
    if
    (vorname=="" || name=="" || strasse=="" || plz=="" || ort=="" || email=="")
    {
    alert ("Bitte f&uuml;llen Sie die mit * gekennzeichneten Felder aus!")
    return false;
    }
    return confirm("Sind Sie sicher, dass Sie das Formular jetzt abschicken wollen?");
   }
   </script>

in meiner html-datei steht noch folgendes:

<form action="" method="post" name="abfrage" id="abfrage" onReset="retrun sicher()" onSubmit="return formtest()">

Möchte die Formularfelder schon mit javascript abfragen. Aber wie geht das mit dem Versenden. Was gebe ich in form action ein?
Höchstwahrscheinlich müsste ich die html-datei in eine php-datei umbauen, weiß aber dann nicht wie ich den javascript-code in die php-datei einbauen soll.
Denn in php gibt es ja bekanntlich die

mail-funktion

Wenn ich die mail-funktion von php nutze, dann müsste ich ja das ganze über

isset

abfragen.
Kann mir da jemand weiterhelfen?

wenn du das Formular vor dem Absenden mit JS prüfen willst:
-in action=„“ die PHP-Datei eintragen
-statt <input type=„submit“ …/>, <input type=„button“ onclick=„formtest();“ …/> verwenden
-ans Ende der Funktion formtest() „document.abfrage.submit();“ anhängen (schickt das Formular namens „abfrage“ ab)

NACHTEIL: JavaScript muss aktiviert sein

mit PHP (was zu empfehlen wäre):
[php]if(empty($_POST[‚name‘]) OR empty($_POST[‚vorname‘]) OR …)
echo ‚Da fehlt was…‘;
else
//Formular verarbeiten[/php]

[html]
<input type=„button“ onclick=„formtest();“ name=„senden“ value=„versenden“
<input type=„reset“ name=„zurueck“ value=„zurücksetzen“
[/html]
habs jetzt so geschrieben, ist das korrekt?
Hab noch eine Frage? Wie das eigentlich, wenn ich die Seite bei einem Provider hochlade, der User füllt das Formular aus, und schickt es ab, welche Absender-Adresse ist dann in meinem Posteingang?

Abgesehen davon, dass du ein „>“ vergessen hast ist das richtig.
Die Funktion sollte dann so aussehen:
[php]function formtest () {
var vorname, name, strasse, plz, ort, email;
vorname=document.abfrage.vorname.value;
name=document.abfrage.name.value;
strasse=document.abfrage.strasse.value;
plz=document.abfrage.plz.value;
ort=document.abfrage.ort.value;
email=document.abfrage.email.value;

if(vorname==„“ || name==„“ || strasse==„“ || plz==„“ || ort==„“ || email==„“) {
alert („Bitte füllen Sie die mit * gekennzeichneten Felder aus!“)
return false;
}
document.abfrage.submit();
}[/php]Hier kannst du nachlesen wie genau das mit PHP-mail() funktioniert
PHP-Einfach.de - PHP Tutorial - Mail Funktion

so müsste es passen:
[html]

[/html] müsste mein script nicht auch so lauten: [php] function formtest () { var vorname, name, strasse, plz, ort, email; vorname=document.abfrage.vorname.value; name=document.abfrage.name.value; strasse=document.abfrage.strasse.value; plz=document.abfrage.plz.value; ort=document.abfrage.ort.value; email=document.abfrage.email.value; if (vorname=="" || name=="" || strasse=="" || plz=="" || ort=="" || email=="") { alert ("Bitte fuellen Sie die mit * gekennzeichneten Felder aus!") return false; } return confirm("Sind Sie sicher, dass Sie das Formular jetzt abschicken wollen?"); document.abfrage.submit(); } [/php]

dann so (Ausschnitt):
[php]if(confirm(„Sind Sie sicher…?“))
document.abfrage.submit();[/php]denn nach „return“ ist eine Funktion definitiv vorbei => das Formular wird nicht abgeschickt.

[php]
if
(vorname==„“ || name==„“ || strasse==„“ || plz==„“ || ort==„“ || email==„“)
{
alert („Bitte fuellen Sie die mit * gekennzeichneten Felder aus!“)
return false;
}
if confirm(„Sind Sie sicher, dass Sie das Formular jetzt abschicken wollen?“);
{
document.abfrage.submit();
}
[/php]
Müsste dann nicht bei if confirm, dann noch Klammern gesetzt werden?
[php]
{
document.abfrage.submit();
}
[/php]

nein müssen nicht, ein einzelnen Aufruf kann man ohne Klammern an eine Bedingung hängen

if(irgendwas)
  alert('irgendwas'); //ist abhängig von if-Abfrage
alert('noch was'); //ist nicht mehr abhängig von if-Abfrage

Allerdings hast du (Corraggiouno) Klammern vergessen.

Und zwar um das confirm()

[html]
if
(vorname==„“ || name==„“ || strasse==„“ || plz==„“ || ort==„“ || email==„“)
{
alert („Bitte fuellen Sie die mit * gekennzeichneten Felder aus!“)
return false;
}
if confirm(„Sind Sie sicher, dass Sie das Formular jetzt abschicken wollen?“);
{
document.abfrage.submit();
}
[/html]
So müsste es doch von der Syntax her stimmen!

If-Bedingungen müssen immer in Klammern stehen, das ist noch nicht der Fall (siehe Zitat).

[html]

[/html]
Das habe ich ja bereits gepostet, dies dient ja dazu die Felder zu checken.
meine form action lautet so:
[html]

[/html] nun folgen eben mehrere felder, in die der user seine daten eintragen kann, z.B. [html] Vorname* [/html] leider bin kann ich in php, so gut wie keine kenntnisse vorweisen. ich habe das mal so gemacht; unter habe ich das php-script eingeführt: [php] <?php $empfaenger = "test@web.de"; $betreff = ""; $from = "From: Kunde "; $vorname = "vorname"; mail($empfaenger, $betreff, $from, $vorname); ?> [/php] Ist das richtig, wenn ich nun den Wert vorname, der variablen vorname zuweise? Kann mir da jemand weiterhelfen?