ilch Forum » Allgemein » Plauder Ecke » Alle Eingaben im Kontaktformular prüfen

Geschlossen
  1. #1
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    166
    Beitragswertungen
    1 Beitragspunkte
    Hallo Leute,

    folgende Frage: Ist es möglich und wie kann ich es ausführen, dass alle Eingaben im Kontaktformular geprüft werden und wenn eine Eingabe nicht erfolgt ist oder die E-Mailadresse nicht existiert, eine Fehlermeldung ausgegeben wird? Es gilt für Gäste.

    Danke schon mal.
    MfG heinz2


    verwendete ilch Version: 1.1 P

    betroffene Homepage: fischerfreunde-haimhausen.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.607
    Beitragswertungen
    116 Beitragspunkte
    du kannst aus der Seite eine HTML5 seite machen und dann zu den Inputfeldern required hinschreiben

    und bei der Mail-Adresse den typ auf email setzen
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    166
    Beitragswertungen
    1 Beitragspunkte
    Hallo Holz,
    Danke für die Antwort. Da ich aber nicht allzuviel Ahnung habe währe ich etwas Hilfe dankbar. Folgendes soll geschehen bzw will ich kontrollieren: "Name" muss ausgefüllt sein, "Betreff" muss ausgefüllt sein, "Deine Nachricht" soll auf "verbotene Wörter" kontrolliert werden können und die "E-Mail Adresse" soll geprüft werden ob sie existiert, eventuell sollte der Absender die eingetragene E-Mailadresse bestätigen indem er eine Mail bekommt und diese bestätigt. Wenn ein Eintrag fehlt oder falsch ist sollte ein entsprechender Hinweis eingeblendet werden. Ich hätte gern einen Hinweis welche Dateien in welchem Ordner müssen bearbeitet werden.
    Sollte ich warten bis Ilch 2.0 fertig ist? Ist da so etwas vorgesehen?

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.607
    Beitragswertungen
    116 Beitragspunkte
    fast alles kannst du mit HTML5 machen

    bis auf die validierung ob die email adresse existiert ... du kannst damit nur prüfen ob die Mail-Adresse wirklich der Konvention einer Mail-Adresse entspricht.


    aber für ein Kontakt-Formular halte ich die verifizierung ob es sich um eine Mail-Adresse handelt die auch existiert für Sinnfrei.
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    166
    Beitragswertungen
    1 Beitragspunkte
    Also ich sehe das so;
    Bin hier im falschen Forum.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.607
    Beitragswertungen
    116 Beitragspunkte
    warum solltest du hier im falschen Forum sein? weil ich keine fertige Lösung poste?
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    166
    Beitragswertungen
    1 Beitragspunkte
    Hallo holz,
    Ich will niemandem zu nahe treten. Ich habe hohe Achtung vor dem was Ihr hier leistet. Falsches Forum, weil mein Problem vieleicht hier hin gehört: "HTML, PHP, SQL,...". Ich kann mich aber auch täuschen.
    Ich wollte keine fertige Lösung sondern wo in welcher Datei ich Änderungen vornehmen muss. Wenn ich jetzt das Kontaktformular unvollständig ausfülle erhalte ich nicht einmal eine Fehlermeldung. Nur wenn ich vollständig das Formular ausfülle kommt die Meldung "Die E-Mail wurde erfolgreich versendet.". Mein Kontaktformular sieht so aus:
    <div id="contakt">
    <form action="?contact" method="POST">
      <fieldset>
      <span class="textfarbe_">
        <legend>&nbsp;{_lang_whereyouwrite}</legend>
        &nbsp;Bitte w&auml;hle Deinen Ansprechpartner durch Markieren aus:<br>
          &nbsp;
    </span>
    
         {EXPLODE}
    
        <ul>
            <li><input id="w{KEY}" type="radio" name="wer" value="{KEY}" style="float:left; " />&nbsp;&nbsp;
            <label for="w{KEY}">{VAL}</label>
            <br style="clear:both; " />
            </li>
        </ul>
    
         {EXPLODE}
    
    	  <br />
    	<label style="float:left; width:100px; ">&nbsp;{_lang_name}</label><input type="text" name="name" value="{name}" maxlength="30"><br /><br />
        <label style="float:left; width:100px; ">&nbsp;{_lang_mail}</label><input type="text" name="mail" value="{mail}" maxlength="50"><br /><br />
        <label style="float:left; width:100px; ">&nbsp;{_lang_subject}</label><input type="text" name="subject" value="{subject}" maxlength="50"><br /><br />
    	  <label style="float:left; width:100px; ">&nbsp;{_lang_message}</label><textarea cols="50" rows="8" name="txt">{text}</textarea><br />
    
          {ANTISPAM}
    
        <label style="float:left; width:100px; ">&nbsp;</label><input type="submit" value=" Absenden "><br />
      </fieldset>
    </form>
    </div>

    und die contakt.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 = "Anfrage über das Kontaktformular;  " . $subject;
        if (icmail ($wer,$subject,$text, $name." <".$mail.">")) {
        	echo '<font size="+1" color="#FF0000">';
            echo $lang['emailsuccessfullsend'];
            echo '</font>';
        } else {
        	echo '<h1>';
            echo 'Der Server konnte die Mail nicht versenden, teilen sie dies ggf. dem Administrator oder Webmaster mit.';
            echo '</h1>';
        }
        $name = '';
        $mail = '';
        $subject = '';
        $wer  = '';
        $text = '';
      } else {
        echo '<h3>';
        echo $lang['emailcouldnotsend'];
        echo '</h3>';
      }
    }
    
    
    
    $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);
    
    echo '<br /><h2>Kontaktadresse f&uuml;r schriftliche Antr&auml;ge:</h2><br /><br />';
    echo 'Fischerfreunde Haimhausen e.V.<br />';
    echo 'Hochstr. 21<br />';
    echo '85778 Haimhausen<br />';
    $design->footer();
    ?>


    Unvollständig ausgefüllte Mails kommen bei mir dann auch nicht an.

    MfG
    heinz2
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.607
    Beitragswertungen
    116 Beitragspunkte
    sag das doch gleich lächeln

    also die dateien hast du auf alle fälle schon mal gefunden ^^

    ändere mal den doctype deiner seite auf (index.html):

    <!DOCTYPE html>


    dann schaust du dir das mal an html5 requried

    www.html5rocks.com/de/tutorials/forms/html5forms/


    und ganzspeziell type="email" und required
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    166
    Beitragswertungen
    1 Beitragspunkte
    Hallo Holz,

    Danke für den Hinweis. Habe mich damit befasst und das Formular entsprechend eingerichtet.

    Kann jetzt geschlossen werden.

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Plauder Ecke

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten