Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Formular versenden“

Litorus

Mediendesign

Hallo,

kann mir vielleicht jemand weiterhelfen. Ich habe ein Formular in PHP gebaut, und es funktioniert
auch soweit sehr gut. Ich habe da nur ein Problem:
Es sendet nicht alle Formularfelder, sondern nur den Namen und PLZ + Emailadresse. Hier der Code:
PHP:
 // Email zumsammensetzen
 $email = "From: " . $_SESSION['email'];
    $nachrichtfertig = $_SESSION['vorname']. " schrieb: \n\n" . $_SESSION['plz']
 = $_SESSION['name']. " schrieb: \n\n" . $_SESSION['strasse']
 = $_SESSION['nachricht']. " schrieb: \n\n" . $_SESSION['email'];
 $versand = mail($empfaenger, $_SESSION['ort'], $nachrichtfertig, $email);
   if ($versand) {
   echo '<h3>Emailversand</h3>
   <p>Ihre Email ist bei uns eingegangen!</p>
   <p>Sobald wir unser Postfach überprüft</p>
   <p>haben, werden wir Ihnen antworten.</p>
   <p>einen schönen Tag</p>';
Es sollte im Prinzip alle Formulardaten per Email empfangen werden, die eingegeben wurden.

z.b. Name - Ich
Ort - hier
PLZ - 00000
Strasse - Einbahnstrasse
Hausnr. - 33
Anzeige - suche ein ...

und so weiter ..........................................
Es wäre echt schön wenn mir da jemand
weiter helfen könnte, der sich da genauer
in PHP auskennt. Ich freu mich auf jede Antwort.
Danke:rolleyes:
 

CIX88

Aktives Mitglied

AW: Formular versenden

Was hällt dich davon ab, vor dem senden mal ein print_r($_SESSION) einzubinden und zu überprüfen ob überhaupt deine $_SESSION vorhanden ist.
session_start() am Anfang der Datei ist sicherlich vorhanden :)
 

Litorus

Mediendesign

AW: Formular versenden

verstehe ich jetzt irgendwie nicht ganz,
session_start () ist, ich habe mal den gazen Code hier rein
PHP:
<?
 // Session starten und confog.php includen
 session_start();
 include ("config.php");
 
 // CaptchaCodes abfragen
 $CAPTCHA_RandomText = "";
 if (isset($_POST['txtCode'])){
 $CAPTCHA_EnteredText = str_replace("<","",str_replace(">","",str_replace("'","",str_replace("[","",str_replace("]","",$_POST['txtCode'])))));
 }
 if (isset($_SESSION['CAPTCHA_RndText'])) {
 $CAPTCHA_RandomText = $_SESSION['CAPTCHA_RndText'];
 }
 // Eingabefelder abfragen
 $_SESSION['name'] = $_POST['name'];
 $_SESSION['vorname'] = $_POST['vorname'];
 $_SESSION['email'] = $_POST['email'];
 $_SESSION['strasse'] = $_POST['strasse'];
 $_SESSION['hausnr'] = $_POST['hausnr'];
 $_SESSION['plz'] = $_POST['plz'];
 $_SESSION['ort'] = $_POST['ort'];
 $_SESSION['artikelbeschr'] = $_POST['artikelbeschr'];
 $_SESSION['nachricht'] = $_POST['nachricht'];
 
 $email_i = $_SESSION['email'];
 
 // Email Funktion
 function pruefe_mail($email_i) {
    if(strstr($email_i, "@")) {
   $email_i = explode ("@", $email_i);
   if(strstr($email_i[1], ".")) $ok = TRUE;
    }
    return $ok;
  }
 
 // Eingaben prüfen
 $fehler = "";
 if(!pruefe_mail($email_i) && !empty($email_i)) {
   $fehler .= "<li>Email fehlerhaft!</li>";
   }
   if ($_SESSION['name'] == ""){ 
   $fehler .= "<li>Nachname fehlt!</li>";
   }
   if ($_SESSION['vorname'] == ""){ 
   $fehler .= "<li>Vorname fehlt!</li>";
   }
   if ($_SESSION['email'] == ""){ 
   $fehler .= "<li>Email fehlt!</li>";
   }
   if ($_SESSION['strasse'] == ""){ 
   $fehler .= "<li>Strasse fehlt!</li>";
   }
   if ($_SESSION['hausnr'] == ""){ 
   $fehler .= "<li>Hausnummer fehlt!</li>";
   }
   if ($_SESSION['plz'] == ""){ 
   $fehler .= "<li>die PLZ fehlt!</li>";
   }
   if ($_SESSION['ort'] == ""){ 
   $fehler .= "<li>Der Ort fehlt!</li>";
   }
   if ($_SESSION['artikelbeschr'] == ""){ 
   $fehler .= "<li>Artikelbeschreibung fehlt!</li>";
   }
   if ($_SESSION['nachricht'] == ""){ 
   $fehler .= "<li>Nachricht fehlt!</li>";
   }
   if ($CAPTCHA_EnteredText == $CAPTCHA_RandomText and isset($_POST['txtCode']) == true and isset($_SESSION['CAPTCHA_RndText'])){
   $captcha = true;
   } else {
   $fehler .= "<li>Captcha fehlt oder fehlerhaft!</li>";
   }
 
 if ($fehler == ""){
 // Email zumsammensetzen
 $email = "From: " . $_SESSION['email'];
    $nachrichtfertig = $_SESSION['vorname']. " schrieb: \n\n" . $_SESSION['plz']
 = $_SESSION['name']. " schrieb: \n\n" . $_SESSION['strasse']
 = $_SESSION['nachricht']. " schrieb: \n\n" . $_SESSION['email'];
 $versand = mail($empfaenger, $_SESSION['ort'], $nachrichtfertig, $email);
   if ($versand) {
   echo '<h3>Emailversand</h3>
   <p>Ihre Email ist bei uns eingegangen!</p>
   <p>Sobald wir unser Postfach überprüft</p>
   <p>haben, werden wir Ihnen antworten.</p>
   <p>einen schönen Tag</p>';
 
   // Sessionvariablen löschen
   unset($_SESSION['name']);
   unset($_SESSION['vorname']);
   unset($_SESSION['email']);
   unset($_SESSION['strasse']);
   unset($_SESSION['hausnr']);
   unset($_SESSION['plz']);
   unset($_SESSION['ort']);
   unset($_SESSION['artikelbeschr']);
   unset($_SESSION['nachricht']);
   }
 
 } else {
 echo '<h3>Kontaktformular</h3>';
 echo $fehler;
 echo '<p><a href="kontakt.php">zurück</a></p>';
 }
 
 // Session unset
 unset($_SESSION['CAPTCHA_RndText']);
 
?>

hier wird im Prinzip die Email ausgewertet.:hmpf:
 

CIX88

Aktives Mitglied

AW: Formular versenden

Warum schreibst du alles von $_POST nach $_SESSION ?
Warum prüfst du bei „Eingaben prüfen” nicht $_POST ?
Das einzigste wofür du SESSION brauchst ist doch Captcha ... der Rest steht doch schon in POST drin.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
174.479
Beiträge
2.577.999
Mitglieder
65.966
Neuestes Mitglied
Привет
Oben