Anzeige

Formular versenden

Formular versenden | PSD-Tutorials.de

Erstellt von Litorus, 05.10.2008.

  1. Litorus

    Litorus Mediendesign

    Dabei seit:
    22.09.2008
    Beiträge:
    50
    Geschlecht:
    männlich
    Formular versenden
    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:
    1.  // Email zumsammensetzen
    2.  $email = "From: " . $_SESSION['email'];
    3.     $nachrichtfertig = $_SESSION['vorname']. " schrieb: \n\n" . $_SESSION['plz']
    4.  = $_SESSION['name']. " schrieb: \n\n" . $_SESSION['strasse']
    5.  = $_SESSION['nachricht']. " schrieb: \n\n" . $_SESSION['email'];
    6.  $versand = mail($empfaenger, $_SESSION['ort'], $nachrichtfertig, $email);
    7.    if ($versand) {
    8.    echo '<h3>Emailversand</h3>
    9.   <p>Ihre Email ist bei uns eingegangen!</p>
    10.   <p>Sobald wir unser Postfach überprüft</p>
    11.   <p>haben, werden wir Ihnen antworten.</p>
    12.   <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:
     
    #1      
  2. CIX88

    CIX88 Aktives Mitglied

    Dabei seit:
    06.04.2006
    Beiträge:
    814
    Geschlecht:
    männlich
    Ort:
    GR
    Formular versenden
    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 :)
     
    #2      
  3. Litorus

    Litorus Mediendesign

    Dabei seit:
    22.09.2008
    Beiträge:
    50
    Geschlecht:
    männlich
    Formular versenden
    AW: Formular versenden

    verstehe ich jetzt irgendwie nicht ganz,
    session_start () ist, ich habe mal den gazen Code hier rein
    PHP:
    1. <?
    2.  // Session starten und confog.php includen
    3.  include ("config.php");
    4.  
    5.  // CaptchaCodes abfragen
    6.  $CAPTCHA_RandomText = "";
    7.  if (isset($_POST['txtCode'])){
    8.  $CAPTCHA_EnteredText = str_replace("<","",str_replace(">","",str_replace("'","",str_replace("[","",str_replace("]","",$_POST['txtCode'])))));
    9.  }
    10.  if (isset($_SESSION['CAPTCHA_RndText'])) {
    11.  $CAPTCHA_RandomText = $_SESSION['CAPTCHA_RndText'];
    12.  }
    13.  // Eingabefelder abfragen
    14.  $_SESSION['name'] = $_POST['name'];
    15.  $_SESSION['vorname'] = $_POST['vorname'];
    16.  $_SESSION['email'] = $_POST['email'];
    17.  $_SESSION['strasse'] = $_POST['strasse'];
    18.  $_SESSION['hausnr'] = $_POST['hausnr'];
    19.  $_SESSION['plz'] = $_POST['plz'];
    20.  $_SESSION['ort'] = $_POST['ort'];
    21.  $_SESSION['artikelbeschr'] = $_POST['artikelbeschr'];
    22.  $_SESSION['nachricht'] = $_POST['nachricht'];
    23.  
    24.  $email_i = $_SESSION['email'];
    25.  
    26.  // Email Funktion
    27.  function pruefe_mail($email_i) {
    28.     if(strstr($email_i, "@")) {
    29.    $email_i = explode ("@", $email_i);
    30.    if(strstr($email_i[1], ".")) $ok = TRUE;
    31.     }
    32.     return $ok;
    33.   }
    34.  
    35.  // Eingaben prüfen
    36.  $fehler = "";
    37.  if(!pruefe_mail($email_i) && !empty($email_i)) {
    38.    $fehler .= "<li>Email fehlerhaft!</li>";
    39.    }
    40.    if ($_SESSION['name'] == ""){
    41.    $fehler .= "<li>Nachname fehlt!</li>";
    42.    }
    43.    if ($_SESSION['vorname'] == ""){
    44.    $fehler .= "<li>Vorname fehlt!</li>";
    45.    }
    46.    if ($_SESSION['email'] == ""){
    47.    $fehler .= "<li>Email fehlt!</li>";
    48.    }
    49.    if ($_SESSION['strasse'] == ""){
    50.    $fehler .= "<li>Strasse fehlt!</li>";
    51.    }
    52.    if ($_SESSION['hausnr'] == ""){
    53.    $fehler .= "<li>Hausnummer fehlt!</li>";
    54.    }
    55.    if ($_SESSION['plz'] == ""){
    56.    $fehler .= "<li>die PLZ fehlt!</li>";
    57.    }
    58.    if ($_SESSION['ort'] == ""){
    59.    $fehler .= "<li>Der Ort fehlt!</li>";
    60.    }
    61.    if ($_SESSION['artikelbeschr'] == ""){
    62.    $fehler .= "<li>Artikelbeschreibung fehlt!</li>";
    63.    }
    64.    if ($_SESSION['nachricht'] == ""){
    65.    $fehler .= "<li>Nachricht fehlt!</li>";
    66.    }
    67.    if ($CAPTCHA_EnteredText == $CAPTCHA_RandomText and isset($_POST['txtCode']) == true and isset($_SESSION['CAPTCHA_RndText'])){
    68.    $captcha = true;
    69.    } else {
    70.    $fehler .= "<li>Captcha fehlt oder fehlerhaft!</li>";
    71.    }
    72.  
    73.  if ($fehler == ""){
    74.  // Email zumsammensetzen
    75.  $email = "From: " . $_SESSION['email'];
    76.     $nachrichtfertig = $_SESSION['vorname']. " schrieb: \n\n" . $_SESSION['plz']
    77.  = $_SESSION['name']. " schrieb: \n\n" . $_SESSION['strasse']
    78.  = $_SESSION['nachricht']. " schrieb: \n\n" . $_SESSION['email'];
    79.  $versand = mail($empfaenger, $_SESSION['ort'], $nachrichtfertig, $email);
    80.    if ($versand) {
    81.    echo '<h3>Emailversand</h3>
    82.   <p>Ihre Email ist bei uns eingegangen!</p>
    83.   <p>Sobald wir unser Postfach überprüft</p>
    84.   <p>haben, werden wir Ihnen antworten.</p>
    85.   <p>einen schönen Tag</p>';
    86.  
    87.    // Sessionvariablen löschen
    88.    unset($_SESSION['name']);
    89.    unset($_SESSION['vorname']);
    90.    unset($_SESSION['email']);
    91.    unset($_SESSION['strasse']);
    92.    unset($_SESSION['hausnr']);
    93.    unset($_SESSION['plz']);
    94.    unset($_SESSION['ort']);
    95.    unset($_SESSION['artikelbeschr']);
    96.    unset($_SESSION['nachricht']);
    97.    }
    98.  
    99.  } else {
    100.  echo '<h3>Kontaktformular</h3>';
    101.  echo $fehler;
    102.  echo '<p><a href="kontakt.php">zurück</a></p>';
    103.  }
    104.  
    105.  // Session unset
    106.  unset($_SESSION['CAPTCHA_RndText']);
    107.  
    108. ?>
    hier wird im Prinzip die Email ausgewertet.:hmpf:
     
    #3      
  4. CIX88

    CIX88 Aktives Mitglied

    Dabei seit:
    06.04.2006
    Beiträge:
    814
    Geschlecht:
    männlich
    Ort:
    GR
    Formular versenden
    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.
     
    #4      
  5. Litorus

    Litorus Mediendesign

    Dabei seit:
    22.09.2008
    Beiträge:
    50
    Geschlecht:
    männlich
    Formular versenden
    AW: Formular versenden

    danke dir erstmal, ich werde es gleich mal versuchen
     
    #5      
x
×
×
teststefan