ilch Forum » Allgemein » HTML, PHP, SQL,... » Kontakt Formular erweitern.......

Geschlossen
  1. #1
    User Pic
    DAB-FX Mitglied
    Registriert seit
    10.02.2006
    Beiträge
    930
    Beitragswertungen
    11 Beitragspunkte
    Hi,

    hab die SUFU genützt...nur finde ich da nur sachen zu JOIN US und FIGHT US Formular.

    Ich möchte gerne mein Kontakt Formular erweitern.....mit textfeldern das ich auch hinbekomme nur wird der text was ich in die Textfelder schreibe nicht mit übersendet....muss ich da irgend was Wichtiges beachten ?

    ein Link zu einem Thema würde auch langen wenn es das schon gibt.

    viel dank & grüssle
    DAB

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Domme_09 Mitglied
    Registriert seit
    08.07.2008
    Beiträge
    267
    Beitragswertungen
    0 Beitragspunkte
    also es dürfte reichen, wenn du die Felder mit name = "xyz" austattest! Dann kannst du mir $_POST['FELDBEZEICHNER'] den Wert des jeweiligen Feldes holen...
    Ansonsten poste mal den Code...dann würd ich da mal hineinschauen..
    www.bvbsupporters-ms.de
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    DAB-FX Mitglied
    Registriert seit
    10.02.2006
    Beiträge
    930
    Beitragswertungen
    11 Beitragspunkte
    Das ist der Code. Ich habe Test 1-5 mal reingemacht. Hoffe Du kannst helfen glücklich
    danke

    <form action="?contact" method="POST">
      <fieldset>
        <legend>{_lang_whereyouwrite}</legend>
        {EXPLODE}
          <input id="w{KEY}" {c} type="radio" name="wer" value="{KEY}" style="float:left; " /><label for="w{KEY}"> &nbsp; {VAL}</label><br style="clear:both; " />
        {EXPLODE}
    	  <br />
    	  <label style="float:left; width:100px; ">{_lang_name}</label><input type="text" name="name" value="{name}" maxlength="30"><br />
    	  <label style="float:left; width:100px; ">{_lang_mail}</label><input type="text" name="mail" value="{mail}" maxlength="50"><br />
        <label style="float:left; width:100px; ">{_lang_subject}</label><input type="text" name="subject" value="{subject}" maxlength="50"><br />
    	  <label style="float:left; width:100px; ">{_lang_message}</label>
    	  <p>
    	    <textarea cols="40" rows="10" name="txt">{text}</textarea>
    	    <br />
        {ANTISPAM}</p>
    	  <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="15%">Test1</td>
              <td width="85%"><label>
                <input type="text" name="textfield" />
              </label></td>
            </tr>
            <tr>
              <td>Test 2 </td>
              <td><input type="text" name="textfield2" /></td>
            </tr>
            <tr>
              <td>Test 3 </td>
              <td><label>
                <input type="checkbox" name="checkbox" value="checkbox" />
              - 
              <input type="checkbox" name="checkbox2" value="checkbox" />
              - 
              <input type="checkbox" name="checkbox3" value="checkbox" />
              </label></td>
            </tr>
            <tr>
              <td valign="top">Test 4 </td>
              <td><label>
                <textarea name="textarea" cols="50" rows="10"></textarea>
              </label></td>
            </tr>
            <tr>
              <td>Test 5 </td>
              <td><label>
                <input type="text" name="textfield3" />
              </label></td>
            </tr>
          </table>
    	  <p><br />
              </p>
    	  <label style="float:left; width:100px; ">&nbsp;</label><input type="submit" value=" Absenden "><br />
      </fieldset>
    </form>



    Zuletzt modifiziert von jankrug am 12.07.2010 - 20:39:06
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    die php datei wäre auch hilfreich
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    DAB-FX Mitglied
    Registriert seit
    10.02.2006
    Beiträge
    930
    Beitragswertungen
    11 Beitragspunkte
    das ist die PHP

    <?php
    
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: Kontakt';
    $hmenu = 'Kontakt';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    $erg = db_query("SELECT v2,t1,v1 FROM prefix_allg WHERE k = 'kontakt'");
    $row = db_fetch_assoc($erg);
    $k = explode('#',$row['t1']);
    
    $name = '';
    $mail = '';
    $subject = '';
    $wer  = '';
    $text = '';
    if (!empty($_POST['wer']) AND !empty($_POST['mail']) AND !empty($_POST['txt']) AND !empty($_POST['name']) AND !empty($_POST['subject']) AND chk_antispam('contact')) {
      $name = escape_for_email($_POST['name']);
      $mail = escape_for_email($_POST['mail']);
      $subject = escape_for_email($_POST['subject'], true);
      $wer  = escape_for_email($_POST['wer']);
      $text = $_POST['txt'];
      $wero = FALSE;
      foreach($k as $a) {
        $e = explode('|',$a);
        if (md5($e[0]) == $wer) {
          $wero = TRUE;
          $wer  = $e[0];
          break;
        }
      }
    
      if (strpos ($text, 'Content-Type:') === FALSE
      AND strpos($text, 'MIME-Version:') === FALSE
      AND strpos($mail, '@') !== FALSE AND $wero === TRUE
      AND strlen($name) <= 30 AND strlen($mail) <= 30
      AND strlen($text) <= 5000
      AND $mail != $name AND $name != $text AND $text != $mail) {
    
        $subject = "Kontakt: " . $subject;
        if (icmail ($wer,$subject,$text, $name." <".$mail.">")) {
        	echo $lang['emailsuccessfullsend'];
        } else {
        	echo 'Der Server konnte die Mail nicht versenden, teilen sie dies ggf. einem Administrator mit.';
        }
        $name = '';
        $mail = '';
        $subject = '';
        $wer  = '';
        $text = '';
      } else {
        echo $lang['emailcouldnotsend'];
      }
    }
    
    
    
    $tpl = new tpl ( 'contact.htm' );
    $tpl->out(0);
    
    $i = 1;
    foreach($k as $a) {
      $e = explode('|',$a);
      if ($e[0] == '' OR $e[1] == '' ) { continue; }
      if ($i == 1) { $c = 'checked'; } else { $c = ''; }
      $tpl->set_ar_out( array ('KEY' => md5($e[0]), 'VAL' => $e[1], 'c' => $c) , 1 );
      $i++;
    }
    
    $tpl->set('name', $name);
    $tpl->set('mail', $mail);
    $tpl->set('subject', $subject);
    $tpl->set('text', $text);
    $tpl->set('ANTISPAM', get_antispam('contact',100));
    $tpl->out(2);
    
    $design->footer();
    
    ?>



    Zuletzt modifiziert von jankrug am 12.07.2010 - 20:41:09
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    DAB-FX Mitglied
    Registriert seit
    10.02.2006
    Beiträge
    930
    Beitragswertungen
    11 Beitragspunkte
    hast du nun was geändert?
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    also deine eingabe felder oder checkboxen heissen ja test 1 bis 5

    ich mache jetzt mal schritt für schritt ein eingabe feld rein.


      <?php
     
    #   Copyright by: Manuel
    #   Support: www.ilch.de
     
    defined ('main') or die ( 'no direct access' );
     
    $title = $allgAr['title'].' :: Kontakt';
    $hmenu = 'Kontakt';
    $design = new design ( $title , $hmenu );
    $design->header();
     
    $erg = db_query("SELECT v2,t1,v1 FROM prefix_allg WHERE k = 'kontakt'");
    $row = db_fetch_assoc($erg);
    $k = explode('#',$row['t1']);
     
    $name = '';
    $mail = '';
    $subject = '';
    $wer  = '';
    $text = '';
    $test =''; //lordrepha fügte das hinzu
    
    if (!empty($_POST['test']) //lordrepha fügte das hinzu
    
    AND !empty($_POST['wer']) AND !empty($_POST['mail']) AND !empty($_POST['txt']) AND !empty($_POST['name']) AND !empty($_POST['subject']) AND chk_antispam('contact')) {
      $name = escape_for_email($_POST['name']);
      $mail = escape_for_email($_POST['mail']);
      $subject = escape_for_email($_POST['subject'], true);
      $wer  = escape_for_email($_POST['wer']);
      $text = $_POST['txt'];
      $wero = FALSE;
    
    $test = $_POST['test'];
    
      foreach($k as $a) {
        $e = explode('|',$a);
        if (md5($e[0]) == $wer) {
          $wero = TRUE;
          $wer  = $e[0];
          break;
        }
      }
     
      if (strpos ($text, 'Content-Type:') === FALSE
      AND strpos($text, 'MIME-Version:') === FALSE
      AND strpos($mail, '@') !== FALSE AND $wero === TRUE
      AND strlen($name) <= 30 AND strlen($mail) <= 30
      AND strlen($text) <= 5000
      AND $mail != $name AND $name != $text AND $text != $mail) {
    
     $text = "Das ist das testfeld:".$test."\nNachricht: \n".$text."!" //von lordrepha hinzugefüght das /n bewirkt ein Zeilenumbruch in der Mail
    
        $subject = "Kontakt: " . $subject;
        if (icmail ($wer,$subject,$text, $name." <".$mail.">")) {
            echo $lang['emailsuccessfullsend'];
        } else {
            echo 'Der Server konnte die Mail nicht versenden, teilen sie dies ggf. einem Administrator mit.';
        }
        $name = '';
        $mail = '';
        $subject = '';
        $wer  = '';
        $text = '';
      } else {
        echo $lang['emailcouldnotsend'];
      }
    }
     
     
     
    $tpl = new tpl ( 'contact.htm' );
    $tpl->out(0);
     
    $i = 1;
    foreach($k as $a) {
      $e = explode('|',$a);
      if ($e[0] == '' OR $e[1] == '' ) { continue; }
      if ($i == 1) { $c = 'checked'; } else { $c = ''; }
      $tpl->set_ar_out( array ('KEY' => md5($e[0]), 'VAL' => $e[1], 'c' => $c) , 1 );
      $i++;
    }
    
    $tpl->set('test', $test); //von lordrepha hinzugefügt 
    
    $tpl->set('name', $name);
    $tpl->set('mail', $mail);
    $tpl->set('subject', $subject);
    $tpl->set('text', $text);
    $tpl->set('ANTISPAM', get_antispam('contact',100));
    $tpl->out(2);
     
    $design->footer();
     
    ?>


    habs nicht getestet aber so müsste es gfehen
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    DAB-FX Mitglied
    Registriert seit
    10.02.2006
    Beiträge
    930
    Beitragswertungen
    11 Beitragspunkte
    52. $text = "Das ist das testfeld:".$test."\nNachricht: \n".$text."!" //von lordrepha hinzugefüght das /n bewirkt ein Zeilenumbruch in der Mail


    da wo "das ist dein testfeld" steht...muss der name rein vom feld ? also in diesem fall "test1" ?

    und wen ich es richtig verstanden habe mach ich das nur in der .php? für jedes feld und checkbox ?
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    nein das "Das ist ein testfeld" wird so in die mail geschrieben sprich die email sieht dann so aus

    das ist ein testfeld: blablabun

    richtig du musst das nur in der php ändern noch also alle checkboxen und textfelder und dann eben zusammenstringen in der Varaible $text so wie ich es gemacht habe...
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    DAB-FX Mitglied
    Registriert seit
    10.02.2006
    Beiträge
    930
    Beitragswertungen
    11 Beitragspunkte
    super...werds mal basteln "versuchen" vielen dank


    grüssle
    DAB
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    wenns probleme gibt schreib
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    DAB-FX Mitglied
    Registriert seit
    10.02.2006
    Beiträge
    930
    Beitragswertungen
    11 Beitragspunkte
    geht klar glücklich
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten