ilch Forum » Allgemein » HTML, PHP, SQL,... » Fehlermeldung ausgeben in contakt.htm

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

    so sieht die contact.htm jetzt aus:
    <form action="?contact" method="POST">
      <fieldset style="background-color: #D4FF7F;">
        <legend>&nbsp;&nbsp;&nbsp;<b>{_lang_whereyouwrite}</b></legend><br />
        {EXPLODE}
          <input id="{KEY}" type="radio" name="wer" value="{KEY}" style="float:left;" /><label for="w{KEY}"> &nbsp; {VAL}</label><br /><br style="clear:both; " />
        {EXPLODE}
          <b>Nachfolgendes Formular bitte vollst&auml;ndig ausf&uuml;llen.</b><br />
    	  <br />
    	  <label style="float:left; width:100px; ">{_lang_name}</label><input type="text" name="name" value="{name}" maxlength="30" required><br />
    	  <label style="float:left; width:100px; ">{_lang_mail}</label><input type="text" name="mail" value="{mail}" maxlength="50" required><br />
        <label style="float:left; width:100px; ">{_lang_subject}</label><input type="text" name="subject" value="{subject}" maxlength="50" required><br />
    	  <label style="float:left; width:100px; ">{_lang_message}</label><textarea cols="40" rows="10" name="txt">{text}</textarea><br />
    	  {ANTISPAM}
        <label style="float:left; width:100px; ">&nbsp;</label><input type="submit" value=" Absenden "><br />
      </fieldset>
    </form>
    
      <!-- Kommentar:
       {C} wurde vor type="radio" entfernt -->


    Die Änderung betrifft "{C} wurde vor type="radio" entfernt".
    Ich habe auf der Kontaktseite 3 Ansprechpartner zur Auswahl. Ursprünglich war ja durch " {C} " eine Vorgabe auf den ersten Ansprechparner gegeben. Dies habe ich ändern müssen, da die User keinen Ansprechpartner gewählt haben und immer der an oberster Stelle steht alle Kontaktanfragen bekommen hat. Jetzt sind diese Buttons leer und der User muss einen wählen. Jetzt meine Frage: Wenn kein Button gewählt wurde soll eine entsprechende Fehlermeldung generiert werden. Wo kann ich diese Abfrage in der "contact.php"eintragen?

    mfG heinz2


    verwendete ilch Version: 1.1 P

    betroffene Homepage: fischerfreunde-haimhausen.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Du meinst ein Pflichfeld?
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Einfach abfragen wenn Radio Button = leer Fehler ausgeben
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Und noch kurz als Code:

    if (empty($_POST['wer'])) {
      echo 'Deine Fehlermeldung';
    }
    
    //über
    
    $tpl = new tpl ( 'contact.htm' );
    $tpl->out(0);
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Danke für die Antwort.

    Die Fehlermeldung erscheint schon beim aufrufen der Kontaktseite. Sollte aber erst erscheinen wenn der Button für den Ansprechpartner nicht gesetzt ist und das Formular abgeschickt wurde. Wie könnte das gelöst werden?

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.675
    Beitragswertungen
    1212 Beitragspunkte
    Ist dann nur ein Positionierungsfehler ... zeig mal deine Anpassung.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    hier mal meine komplette contact.php, neu ist Zeile 63, 64 und 65.

    <?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'];
      }
    }
    
    if (empty($_POST['wer'])) {
      echo 'Deine Fehlermeldung';
    }
    
    $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();
    ?>

    Klicke ich einen Ansprechpartner an und fülle das nachfolgende Formular nicht vollständig aus habe ich keine Fehlermeldung. Allerdings wähle ich den Button "Kontakt" aus dem Footer oder aus der Navigation/Verein erscheint die Fehlermeldung über einen nicht ausgewählten Ansprechpartner.
    Ich glaub damit kann ich leben.

    MfG heinz2


    Zuletzt modifiziert von heinz2 am 19.10.2015 - 22:06:51
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Du hast ja auch nur eine Abfrage für empty($_POST['wer']) gemacht.
    if (empty($_POST['wer'])) {
        echo 'Deine Fehlermeldung';
    }


    Würdest du das bei den anderen auch machen zb.
    if (empty($_POST['txt'])) {
        echo 'Deine Fehlermeldung';
    }

    kommt auch die Fehlermeldung wenn du kein Text eingibst.

    oder du machst einfach bei der if abfrage ein else dran und gibst aus Bitte füllen sie alle Felder aus zwinker
    if (!empty($_POST['wer']) AND !empty($_POST['mail']) AND !empty($_POST['txt']) AND !empty($_POST['name']) AND !empty($_POST['subject']) AND chk_antispam('contact')) {
        inhalt wenn alles ausgefüllt.
    } else {
        Fehlermeldung 
    }



    Zuletzt modifiziert von Siggi am 20.10.2015 - 09:17:53
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ok anders machen
    if (isset($_POST['submit']) && empty($_POST['wer'])) {


    Dann noch im Template dem submit element den Namen submit geben
        <label style="float:left; width:100px; ">&nbsp;</label><input type="submit" value=" Absenden " name="submit"><br />


    Wie Siggie schon sagte, könnte es auch also elseif nach dem eigentlichen if kommen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

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

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten