ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Kontaktformular Pflichtfelder Prüfung

Geschlossen
  1. #1
    User Pic
    netrabe Mitglied
    Registriert seit
    17.10.2012
    Beiträge
    8
    Beitragswertungen
    1 Beitragspunkte
    Hallo,
    ich habe mich erst kurz mit Ilch beschäftigt und bin auf ein problem gestoßen das ich selbst nicht lösen kann. In der Suche habe ich soweit leider nichts gefunden. Ist es möglich das Kontaktformular so zu ändern, das ein Benutzer dort eine Email angeben muss bzw das man Felder zu Pflichtfeldern macht ? Weil derzeit schicken User Nachrichten ohne Angabe von Email etc

    Danke schon mal
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Hi,

    ich bin mir nicht ganz sicher, aber eigentlich sollte das ein Pflichtfeld sein.

    Es wäre super wenn du einmal deine contact.php aus dem Ordner ../include/content/ hier posten würdest.
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Tolive Mitglied
    Registriert seit
    13.01.2008
    Beiträge
    923
    Beitragswertungen
    9 Beitragspunkte
    Ja, habe eben noch einmal nachgeschaut. Normalerweise wird geprüft ob eine Mail Adresse angegeben wurde.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    netrabe Mitglied
    Registriert seit
    17.10.2012
    Beiträge
    8
    Beitragswertungen
    1 Beitragspunkte
    (sorry für meine späte Antwort)
    habe jetzt nochmal alles durchgesehen. Und die Original contacts aus dem ilch hochgeladen. wenn ich nun KOntaktformular ausfülle und ohne weitere angaben abschicke wäre es gut wenn ein Fehler wie zB "BITTE MAIL ANGEBEN" kommen würde. Ist das möglich ?

    Vielen Dank euch

    ach das ist die contact
    <?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();
    ?>


    EDIT!
    Bitte nicht <code> für deinen Quellcode verwenden sondern [code]!
    Gruß Lord|S.


    Zuletzt modifiziert von Lord|Schirmer am 20.10.2012 - 11:04:23
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Zeisig Mitglied
    Registriert seit
    05.03.2013
    Beiträge
    229
    Beitragswertungen
    2 Beitragspunkte
    hallo ihr das Standard kontaktformular ist fehlerhaft es wird einfach nichts angezeigt wenn Felder wie zB Betreff leer bleiben und Mail wird nicht versandt. Kann hier jemand sagen wie man so eine Überprüfung machen kann ?
    Sonst kommen bei mir viele Kontaktanfragen gar nicht an.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Am einfachsten ging das über jQuery und dann mit validate, damit kannst du fehlende Felder dann auch hervorheben.

    bassistance.de/jquery-plugins/jquery-plugin-validation/
    (Doku zum JS Plugin, setzt jQuery voraus)

    jquery.bassistance.de/validate/demo/
    (Demo, das obere Form Feld)

    docs.jquery.com/Plugins/Validation
    (alternativ, einfache Variante, ebenfalls mit Demo)

    Dazu musst du nur eine js Datei einbinden und dann den Code aus der Demo anpassen.


    Zuletzt modifiziert von Revolution am 16.03.2013 - 02:10:37
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    1 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Zeisig Mitglied
    Registriert seit
    05.03.2013
    Beiträge
    229
    Beitragswertungen
    2 Beitragspunkte
    das wäre sicherlich eine elegante Lösung. Aber ich muss da iwie auf Java zurückgreifen. Das Problem ist ich habe dieses Chat dingens Popupfenster per Jquery eingebunden und die würden sich dann hauen. Hab so etwas ähnliches mal versucht. Leider bin ich da auch zu viel Anfänger und Laie als das ich wirklich alles so realisieren könnte.

    Gibt es nicht eine einfach Möglichkeit per Java oder popup Fenster das einem darauf hinweist das man noch folgende Felder auszufüllen hat ? Und dann eventuell noch eine Sendebestätigung wobei das ja dann per Ilch gut funktioniert.

    Ilch zeigt zwar den erfolgreichen Versand an, aber nicht wenn nichts versendet wurde dann refresht die Seite lediglich und der User denkt sich "ok versendet"

    Wer mir helfen kann kann sich ja gerne mal zu Wort melden lächeln
    Ich danke schon mal ganz dolle
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Jepp das stimmt, es gibt in 1.1 keinen Rückgabewert für Fehlerhatfe Formulare, in 1.2 wurde dies bereits eingefügt. Theoretisch könntest du das Contact Modul von 1.2 benutzen.

    Falls sich niemand findet und das Problem löst, würde ich heute Abend einen Blick drauf werfen, grade fehlt mir die Zeit dazu.
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    1 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Zeisig Mitglied
    Registriert seit
    05.03.2013
    Beiträge
    229
    Beitragswertungen
    2 Beitragspunkte
    ich habe mal irgendwann vor längerer zeit eine Lösung gefunden aber als ich die contact.php und contact.htm einfügen wollte ging es trotzdem nicht weil ich vermute das in der allg.php oder woanders noch was geändert war leider weiß ich es nicht mehr.

    Aber ich probier mal das aus wie du sagtest. Wäre supi wenn du Dir das mal ansnchauen kannst. Ich denke mal das problem sollten mehr Leute haben mit dem grund Ilch.

    Danke
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Zeisig Mitglied
    Registriert seit
    05.03.2013
    Beiträge
    229
    Beitragswertungen
    2 Beitragspunkte
    Danke für den Tip hab das Kontakt Dingens aus der 1.2 und das geht wunderbar.
    Aber mit Äußerlichkeiten halten sich die Coder von Ilch nicht auf was ?
    Das Kontaktformular war und ist schief und krumm und furchtbar hässlich lächeln
    Ich fänds richtig toll wenn für das Endprojekt Ilch immer mal ein Designer kurz drüber geht und alles wenigstens in die richtige Zeile bringt.
    Leute wie ich die keine Ahnung von html haben, habens echt schwer aus dem Grundscript was zu machen lächeln
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Da kann ich dir nur recht geben, daher laufen die Arbeiten an ilch 1.2 auch auf hochtouren. Das sind halt alles alt-sünden die verbesserten werden müssen bzw. bereits verbessert wurden.

    Das es vom Layout nicht 100%ig klappt, war mir klar. Allerdings ist html um einiges einfacher als php lachen. Und falls du es noch nicht hinbekommen hast Poste das Template hier, ist ja nicht als ob es keine hilfe gibt.


    Zuletzt modifiziert von Revolution am 22.03.2013 - 03:16:01
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Zeisig Mitglied
    Registriert seit
    05.03.2013
    Beiträge
    229
    Beitragswertungen
    2 Beitragspunkte
    Danke für die Hilfe lächeln
    Hab es soweit hinbekommen und einfach wie gesagt das teil aus 1.2 genommen und angepasst. Klappt prima. Danke.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten