Antworten

Thema: PHP-Kontaktformular und Grafik-Check

Nachricht

Klicke hier, um dich anzumelden

 

Du kannst aus dieser Liste ein Symbol für deine Nachricht auswählen.

Zusätzliche Einstellungen

  • Wenn du diese Option aktivierst, werden URLs automatisch mit BB-Code ergänzt. www.beispiel.de wird zu [URL]http://www.beispiel.de[/URL].

Thema bewerten

Wenn du möchtest, kannst du dieses Thema bewerten.

Übersicht (Neuester Beitrag zuerst)

  • 08.04.2008
    Danke sehr. Mit dem Captcha habe ich
    es nun auch gelöst.
  • 08.04.2008
    terra-power
    Hallo,

    das was du suchst, nennt sich captcha (http://de.wikipedia.org/wiki/Captcha)

    Selbstverständlich hab ich nicht die zeit, dir diese funktionalität zu programmieren, aber ich kann dir zwei hinweise geben:

    1.) um eine Captcha funktionalität selber zu bauen, benötigst du PHP Grafikbibilothek PHP GD
    2.) wenn dies etwas zu kompliziert ist kannst du fertuge sachen nehmen, wie dieses simple beispiel: http://www.stoppt-den-spam.info/webm...hp-script.html
  • 07.04.2008
    Hallo liebe Forengemeinde,

    ich benutze unten aufgeführtes Skript für ein PHP-Kontaktformular.
    Es funktioniert auch ganz gut und mit dem E-Mail-Check klappt auch
    alles.

    Das Problem ist, dass dass die ganzen Bots mittlerweile ja schon etwas
    schlauer sind und die ganzen Formulare korrekt ausfüllen.

    Daher wollte ich einfach eine Grafik mit einer Zahl oder einem Wort neben
    das Formular packen und eine Abfrage eben dieses Wortes einrichten, so
    dass der ganze Mist nicht mehr durchkommt.

    Da ich mich kaum mit PHP auskenne, benötige ich eure Hilfe und frage euch,
    wie das Skript stattdessen aussehen müsste? Muss die Abfrage in einer
    anderen Datei stattfinden, damit der Bot das Wort nicht schon in der PHP-
    Datei auslesen kann oder wie löst man das Problem?

    Vielen Dank euch im Voraus.

    kontakt.php:
    Code:
    <?
     require("$DOCUMENT_ROOT/menulinks.inc.php"); 
     $status = $menu["kontakt"]["id"];
     require("$DOCUMENT_ROOT/header.inc.php");
    ?>
     
    <div id="main">
    <?php
    function generate_formular() {
    ?>
    <div id="contentleft">
     <p class="centered">
      Bei ernsthaftem Interesse an einer Zusammenarbeit freue ich mich über eine Anfrage mit vollständigen Angaben.
     </p> 
    <form action="kontakt.php" method="post">
     <p>
      <label for="anrede">Anrede</label>
        <select name=anrede size="1">
          <option selected>Herr
          <option>Frau
          <option>Firma/Agentur
         </select>
      </p>
    
     <p>
      <label for="name">Name</label>
        <input type="text" name="name" size="40" maxlength="120" />
      </p>
     <p>
      <label for="telefon">Telefon</label>
        <input type="text" name="telefon" size="40" maxlength="80" />
      </p>
      
      <p>
       <label for="email">E-Mail-Adresse</label>
        <input type="text" name="email" size="40" maxlength="90" />
       </p>
    
      <!!   ------------------------------------------------------Angaben Referenzen des Fotografen      -----------------------------------------------------------------!!> 
      <p>
       <label for="website">Internetpräsenz</label>
        <input type="text" name="website" size="40" maxlength="90" />
       </p>
     <p>
      <label for="betreff2">Betreff</label>
      <input type="text" name="betreff2" size="40" maxlength="90" />
     </p>
     <p> <label for="nachricht">Nachricht</label>
      <textarea name="nachricht" cols="40" rows="8"></textarea>
     </p>
      <textarea class="gbcommentnv" name="comment1" cols="40" rows="5"></textarea> 
      <textarea class="gbcommentnv" name="comment2" cols="40" rows="5"></textarea> 
      <textarea class="gbcommentnv" name="comment3" cols="40" rows="5"></textarea> 
     <p>
      <input type="submit" name="mail" value="E-Mail verschicken" /> 
     </p>
    </form>
    <p class="centered">
     <br /><br />
     Bitte keine Anfragen bezüglich Escort-Service oder ähnlicher Dienstleistungen.
    </p>
    </div> <!-- contentleft -->
    <div id="contentright">
      <img id="right" src="images/kontakt.jpg" alt="Bild des Autors" />
    </div>
    <?
    }
    function generate_answer() {
    ?> 
     <p class="headline">
      Ihre Mail wurde zugestellt.<br />
      Herzlichen Dank für Ihr Interesse. 
     </p>
    <?
    }
    
    /* function *main* */
    if (!sent || strlen($name) < 2 || strlen($email) <2) {
       generate_formular();
    } else {
     $pruefung = array(
      'email' => '/^ [\w.!#%&\*\/=\?\^\`\{\|\}\~+-]{1,64}
        \@ [[:alnum:].-]{1,255} \. [a-z]{2,6} $/xi',
        'name' => '/^[[:print:]]{3,}$/',
      'betreff' => '/^[[:print:]]{3,}$/');
     //Eingabeprüfung
     $fehler = array();
     foreach($_POST as $parameter => $wert) {
      if(isset($pruefung[$parameter])) {
         if(!preg_match($pruefung[$parameter], $wert)) {
            $fehler[] = "Probleme mit Feld " . $parameter . ": " . $wert;
          }
      } else {
          unset($_POST[$parameter]);
      }
     }
       if(strlen($_POST['comment1']) == 0 and strlen($_POST['comment1']) == 0 and strlen($_POST['comment1']) == 0 and empty($fehler)){
        $betreff = "E-Mail über Kontaktformular";
        $message = "<html><body>
            <p align=\"left\">
            <b>Anrede: </b>    $anrede<br />
            <b>Name: </b>     $name<br />
            <b>Telefon: </b>     $telefon<br />
            <b>E-Mail: </b>    $email<br />
            <b>Internetpräsenz: </b>  <a href=\"$website\">$website</a><br /><br />
            <b>Betreff: </b>    $betreff2<br />
         <b>Nachricht: </b>   $nachricht<br />
            </p>
            </body></html>
            ";
            
     
      $header    = "From: $email\r\n";
      $header   .= "Content-Type: text/html\r\nContent-Transfer-Encoding: 8bit\r\n";
      $header   .= "X-Mailer: PHP ". phpversion();
      
      mail ("bla@xsdfsdfdsfsd.org", $betreff, $message, $header);
     
        generate_answer();
     } else { // if commentfelder 0
        if(!empty($fehler)){
          ?><ul><?
          foreach($fehler as $row){
           echo"<li>".$row."</li>"; 
          }
          ?></ul><?
      }
     
        generate_formular(); 
     }
    }
    ?>
    </div> <!-- div main -->
    <?php 
     require("$DOCUMENT_ROOT/footer.inc.php");
    ?>

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Ja
  • Beiträge bearbeiten: Ja
  •