PHP Formular Problem!

daddz

Mitglied
PHP Fromular Problem!

Hallo erstmal
Ich hoffe ihr könnt mir helfen! Ich hab eine PHP-Datei erstellt die mir die Eingaben eines Formulars schicken soll! Nur funktioniert das leider nicht
Ich hoffe ihr könnt mir helfen
PHP-Datei:
Code:
<html>
<head>
</head>
<body>

<?php

$mailempfaenger = "xx@xxx.net";

if ( $vorname == "" AND $acc == "" AND $nachname == "" AND $char == "" AND $alter == "" AND $spielart == "" AND $mail == "" AND $lvl == "");  {

       echo "Wär nett wenn du alles ausfüllst ;-)";

   }





else {

//erstmal richtig schoen konvertieren

$htmlvorname = htmlentities("$vorname");
$htmlacc = htmlentities("$acc");
$htmlnachname = htmlentities("$nachname");
$htmlchar = htmlentities("$char");
$htmlalter = htmlentities("$alter");
$htmlspielart = htmlentities("$spielart");
$htmlmail = htmlentities("$mail");
$htmllvl = htmlentities("$lvl");


//etz die ausgabe fuer den benutzer

   echo "Diese Eintr&auml;ge wurden abgeschickt: <br> <br> <br>";

   echo   "Vorname: $htmlvorname <br>";
         ."Nachname: $htmlnachname <br>";
         ."Alter: $htmlalter <br>";
         ."e-mail: $htmlmail <br>";
	 ."Account: $htmlacc <br>";	
         ."Lieblingschar: $htmlchar <br>";
         ."Spielart: $htmlspielart <br>";
         ."Höchster Lvl: $htmllvl <br>";
   echo "Danke<br><br>";
   echo "Viel Spass!";




//etz die mail an die webmeister

   mail("$mailempfaenger", "Bewerbung von $acc",

          "Vorname:      $vorname \n \n";
         ."Nachname:      $nachname \n";
         ."Alter:      $alter \n";
         ."e-mail:      $mail \n";
         ."Account:      $acc \n";
         ."Lieblingschar:      $char \n";
         ."Spielart:      $spielart \n";
	 ."Höchster Lvl:      $lvl \n";
         ."______________________________________\n \n";
         
        "From: $mail ($nachname, $vorname)"

       );

}





?>


<br>
<br>
<a href="javascript:history.back()">Zurück!</a>



</body>
</html>

MfG DaddZ
 
Wie wärs, wenn du auf die Variablen mit $_POST['varname'] zugreifen würdest?

mfg
split
 
Wie wärs, wenn du den Body-Text der eMail an mail als Variabel übergibst.

Sieht mir alles nämlich ziemlich wirwarr aus:

mail("$mailempfaenger", "Bewerbung von $acc",

"Vorname: $vorname \n \n";
."Nachname: $nachname \n";
."Alter: $alter \n";
."e-mail: $mail \n";
."Account: $acc \n";
."Lieblingschar: $char \n";
."Spielart: $spielart \n";
."Höchster Lvl: $lvl \n";
."______________________________________\n \n";

"From: $mail ($nachname, $vorname)"

);



Gruß
christhebaer
 
Häh Das versteh ich nich so ganz mit dem $_POST und so!
Ich kenn mich mit php nämlich nich so gut aus!
Könntet ihr mir das mal erklären was ich da genau machen muss?
Danke

MfG DaddZ
 
Okay, wenn ein Feld eines Formulars z.B. "name" heißt, kannst du mit $_POST['name'] auf den übergebenen Wert dieses Feldes zugreifen. "Nur" $name funktioniert das bei den meisten Webhostern nicht mehr! Schick am besten einfach mal ein kompliziertes Formular ab und frage die $_POST-Variablen folgendermaßen ab:
PHP:
echo "<pre>";
echo vardump($_POST);
echo "</pre>";
Dann bekommst du eine bessere Vorstellung von den POST-Variablen.
 
Die folgenden Zeilen sehen auch nicht gut aus:

PHP:
$htmlvorname = htmlentities("$vorname");
$htmlacc = htmlentities("$acc");
$htmlnachname = htmlentities("$nachname");
$htmlchar = htmlentities("$char");
$htmlalter = htmlentities("$alter");
$htmlspielart = htmlentities("$spielart");
$htmlmail = htmlentities("$mail");
$htmllvl = htmlentities("$lvl");
Vielleicht bringt es dich weiter, wenn du versuchst:

PHP:
$htmlvorname = htmlentities($vorname);
$htmlacc = htmlentities($acc);
$htmlnachname = htmlentities($nachname);
$htmlchar = htmlentities($char);
$htmlalter = htmlentities($alter);
$htmlspielart = htmlentities($spielart);
$htmlmail = htmlentities($mail);
$htmllvl = htmlentities($lvl);

Was die anderen meinen ist das Formular mit $_POST auszulesen. Dann könnte es so aussehen (Beispiel):
PHP:
$htmlvorname = htmlentities($_POST['vorname');
$htmlacc = htmlentities($_POST['acc');
.
.
.

Schönen Sonntag,
Andreas
 
Hähh

Danke erstmal...aber ich blick immernoch nich ganz durch
Gibt es nicht irgendwo so ein Fromular zum downloaden?
Oder ein Tutorial oder so?
Trotzdem Danke an alle!:-)

MfG DaddZ
 
Na, na, na... Mal nicht so schnell aufgeben ;-)

Also:
Zuerst schreibst du dir ein Formular:
Code:
<form action="test.php" method="post">
Name: <input type="text" name="name"><br>
Wohnort: <input type="text" name="wohnort"><br>
.
.
.
<input type="submit" value="Abschicken">
</form>
Als nächstes musst du die Auswertung schreiben:
PHP:
if(strlen(trim($_POST['name'])) > 2 AND strlen(trim($_POST['wohnort'])) > 2) {
    $to = "empfaenger@mail.de";
    $sub = "Betreff";
    $msg  = "Das Formular wurde abgesendet. Folgende Daten:\n";
    $msg .= $_POST['name']."\n";
    $msg .= $_POST['wohnort']."\n";
    mail($to, $sub, $msg, "From: absender@mail.de");
    echo "Die Mail wurde versandt";
}
else {
    echo "Bitte Angaben überprüfen";
}
Dann musst du das Ganze noch zu einer Datei zusammenfügen:
PHP:
<?php
if(isset($_POST['name'], $_POST['wohnort'])) { //wurde das Formular bereits abgeschickt?
    //Hier kommt dann die Auswertung hin
}
else {
?>
//Formular wurde noch nicht abgeschickt -> also kommt das Formular hin
<?php
}
?>
Die if(isset()) Abfrage machst du einfach für jedes Formularfeld ($_POST["formularfeldname"]), genau so wie die der Überprüfung dienenden Funktionen [phpf]trim[/phpf] und [phpf]strlen[/phpf].

Aus diesem Ansatz solltest du jetzt in der Lage sein, dir ein brauchbares Formular zu erstellen.
 
Zurück