• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Hilfe Kontaktformular

upsonic

Neues Mitglied
Code:
<script language=JavaScript>
<!--
 function isValid() { 

   var msg = "";
   
   if (kontaktFormular.eMail.value.indexOf("@") < 1 ||
       kontaktFormular.eMail.value.indexOf(".") < 1) {
     msg += "- Die E-Mail-Adresse ist syntaktisch nicht korrekt.\n";
   }
   
   if(kontaktFormular.vorName.value == "") {
     msg += "- Leeres Feld: Vorname:\n";
   }

   if(kontaktFormular.nachName.value == "") {
     msg += "- Leeres Feld: Nachname:\n";
   }

   if(kontaktFormular.betreff1.value == "") {
     msg += "- Leeres Feld: Betreff:\n";
   }

   if(kontaktFormular.nachricht.value == "") {
     msg += "- Leeres Feld: Nachricht:\n";
   }
   
   if(msg == "") {
     return true;   
   }
   alert(msg);
   return false;
 }
-->
</script>
<?php
  
  $formularAnzeigen = false;
  if (!empty($_POST["senden"]) && (
      empty($_POST["vorName"]) ||
      empty($_POST["nachName"]) ||
      empty($_POST["eMail"]) ||
      empty($_POST["betreff1"]) ||
      empty($_POST["nachricht"]))) {
    $formularAnzeigen = true;
    echo '<span style="color: #FF0000; font-size: x-large;">Bitte alle Pflichtfelder ausfuellen.</span>';
  } else if (!empty($_POST["senden"]) &&
             !isEmail($_POST["eMail"])) {
    $formularAnzeigen = true;  
    echo '<span style="color: #FF0000; font-size: x-large;">Die E-Mail-Adresse ist nicht korrekt.</span>';
  } else if (empty($_POST["senden"])) {
    $formularAnzeigen = true;  
  }
  if ($formularAnzeigen) {
?>
<form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">
  <table width="800" border="0">
<!--anfang vorName-->  
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Vorname:
      </strong></td>
      <td>
      <input name="vorName" type="text" value="<?=$_POST['vorName']; ?>" /></td>

      <td>
        &nbsp;
      </td>          
    </tr>
<!--ende vorName-->
<!--anfang nachName-->    
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Nachname:
      </strong></td>
      <td><input name="nachName" type="text" value="<?=$_POST['nachName']; ?>" /></td>
      <td>
        &nbsp;
      </td>          
    </tr>
<!--ende nachName-->
<!--anfang eMail-->        
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        E-Mail:
      </strong></td>
      <td><input name="eMail" type="text" id="eMail" value="<?=$_POST['eMail']; ?>" /></td>
      <td>
        Geb deine E-Mail Adresse an damit ich dir Antworten kann! 
      </td>      
    </tr>
<!--ende eMail-->
<!--anfang betreff1-->
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Betreff:
      </strong></td>
      <td><input name="betreff1" type="text" id="betreff1" value="<?=$_POST['betreff1']; ?>" size="50" /></td>
      <td>
        Art der Anfrage, Signatur, Avatar, usw..
      </td>          
    </tr>
<!--ende betreff1-->
<!--anfang nachricht-->      
    <tr>
      <td><div align="center">*</div></td>
      <td><strong>
        Nachricht:
      </strong></td>
      <td><textarea name="nachricht" cols="40" rows="10"><?=$_POST['nachricht']; ?></textarea></td>
      <td>
        &nbsp;
      </td>          
    </tr>
<!--ende nachricht-->    
    <tr>
      <td colspan="3">
        <div align="center">
          <input name="senden" type="submit" value="Senden" />
        </div>
      </td>          
      <td>&nbsp;</td>          
    </tr>
  </table>
</form>

<?php
  echo'Dieses Formular wurde mit dem <a href="http://www.formular-generator.de" target="_blank">Formular Generator</a> erstellt.';
  } else {
    $eMail = '
        
Vorname:
'.$_POST['vorName'].'
        
Nachname:
'.$_POST['nachName'].'
        
E-Mail:
'.$_POST['eMail'].'
        
Betreff:
'.$_POST['betreff1'].'
        
Nachricht:
'.$_POST['nachricht'].'';
    
    if (@mail("[email protected]",
         "Neue Nachricht vom Kontaktformular",
         $eMail)) {
      echo "Anfrage Versendet<br />"; 
    } else {
      echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
    }
    if ($_POST['kopie']) {
      if (@mail($_POST['eMail'],
           "Kopie Anfrage",
           $eMail)) {
        echo "Sie haben eine Kopie der Nachricht zugeschickt bekommen.<br />";
      }
    }
  }
  
  function isEmail($email) {
    $nonascii      = "\x80-\xff"; 
    $nqtext        = "[^\\$nonascii\015\012\"]";
    $qchar         = "\\[^$nonascii]";
    $protocol      = "(?:mailto:)";
    $normuser      = "[a-zA-Z0-9][a-zA-Z0-9_.-]*";
    $quotedstring  = "\"(?:$nqtext|$qchar)+\"";
    $user_part     = "(?:$normuser|$quotedstring)";
    $dom_mainpart  = "[a-zA-Z0-9][a-zA-Z0-9._-]*\.";
    $dom_subpart   = "(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*";
    $dom_tldpart   = "[a-zA-Z]{2,5}";
    $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";
    $regex         = "$protocol?$user_part\@$domain_part";
    if (preg_match("/^$regex$/",$email)) {
      return true;
    }
    return false;
  }
?>

Kommt immer das Bei raus!
hilfe.jpg

Bin ein ziemlicher noob. Ist aber wichtig für meine Website. Helft mir!
 
Wenn das deine Seite ist ist die doch voll Korrekt weis garnicht was du hast. Ausser den 2 Fehlern da unten an der Seite. Danke schön für die Hilfe werde das mal Ausprobieren!!
 
Ok das Geht nicht immer nur weißer Bildschirm.
Könnte mir keiner ebend eins Scripten mit den Feldern:

Name:
Deine Email Adresse:
Betreff:
Text:

Soll dann eine eine Gmail Adresse gesendet werden.
 
Code:
<?php 

   $body = $_POST ["nachricht"];
   $subject = $_POST ["betreff"];
   $to = "[email protected]";
   $header = 'From:Kontaktformular' . "\r\n" ;
   
   
   
   if (mail($to, $subject, $body, $header)) {
   echo("<p>Message successfully sent!</p>");
  } else {
   echo("<p>Message delivery failed...</p>");
  }

   

?>
Hab ich mit ein bissl Hilfe gebastelt der Funktioniert. Nun möchte ich den Aber so Abändern, dass wenn kein Betreff gegeben ist die Mail nicht abgesendet wird. Wie geht das?? :D :)
 
PHP:
<?php
if(empty($_POST['betreff'])){
	echo "<p>Bitte geben Sie einen Betreff ein!</p>";
}else{
	$body = $_POST ["nachricht"];
	$subject = $_POST ["betreff"];
	$to = "[email protected]";
	$header = 'From:Kontaktformular' . "\r\n" ;
	if (mail($to, $subject, $body, $header)) {
		echo("<p>Message successfully sent!</p>");
		} else {
		echo("<p>Message delivery failed...</p>");
	}
}
?>
 
könntet ihr mir das Ganze auch für die nachricht machen. also wenn man keine nachricht eingegeben hat.

(ps: ich weiss ich bin ein schnorrer!)
 
Zurück
Oben