Formular für Website weiterempfehlen

Wavetrax, wenn Du 2 Tage warten kannst,
(morgen habe ich keine Zeit)
mache ich Dir mal ein Muster fertig, dass Du dann auch Deine Bedürfnisse anpassen kannst.
Schick mir einmach eine mail :)
 
Hallo Julian,

Hmm bei mir scheint es noch nicht ganz zu funktionieren.

Code:
<?php 
email injection detected! - ip: logged<br />Sie haben Daten in einer Form angegeben, die auf einen versuchten Missbrauch schlie&szlig;en lassen!</p><p>Die Ausdr&uuml;cke wie 'bbc:', 'cc:' oder 'Content-Type:' sind nicht in allen Feldern erlaubt.<br />Bitte überprüfen Sie Ihre Eingaben und versuchen Sie es erneut.</p>";

if (isset($_POST['submit'])) {
//falls register globals aus ist
	$verify1 = $_POST['verify1'];
	$verify2 = $_POST['verify2'];
	$firstname = htmlentities($_POST['firstname']);
	$lastname = htmlentities($_POST['lastname']);
	$email = $_POST['email'];
	$emp1 = $_POST['emp1'];
	$email1 = $_POST['email1'];
	$emp2 = $_POST['emp2'];
	$email2 = $_POST['email2'];
	$emp3 = $_POST['emp3'];
	$email3 = $_POST['email3'];
	$emp4 = $_POST['emp4'];
	$email4 = $_POST['email4'];
	$nachricht = htmlentities($_POST['nachricht']);
	
	$send = "yes";
//Daten überprüfen
	// Überprüfen ob das Formular zur Eingabe benutzt wurde
	if ($verify2 != md5(md5($verify1))) {
		echo $stop_message;
		$send = "no";
		}
	
	//IP und Datum ermitteln
	$remote = getenv("REMOTE_ADDR"); 
	if ($remote == "") { $ip = "<i> no ip </i>"; }
	else {
		$ip = getHostByAddr($remote); 
		$ip .= " // ";
		$ip .= $remote; 
	}
	if (!empty($HTTP_POST_VARS)) { extract($HTTP_POST_VARS); } 
	$date = date("m.d.Y H:i:s"); 

	//Daten überprüfen
	if ( empty ($firstname)) {  
		echo "Geben Sie bitte Ihren vollst&auml;ndigen Namen ein. Danke.<br />";
		$send = "no";
		}
	if (!empty ($lastname)) {
		if (!check_injection($lastname)) { 
			echo $stop_message;
			$send = "no";
			}
		}
	if (!empty ($firstname)) {
		if (!check_injection($firstname)) { 
			echo $stop_message;
			$send = "no";
			}
		}
	if (empty ($email)) {  
		echo "Geben Sie bitte Ihre Emailadresse ein. Danke.<br />";
		$send = "no";
		}
	if (!empty ($email)) {
		if (!check_injection($email)) { 
			echo $stop_message;
			$send = "no";
			}
		if (!check_email($email)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		if (!block_domain($email)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		}
	if (empty ($email1)) {  
		echo "Geben Sie bitte mindestens die Emailadresse eines Empfängers ein. Danke.<br />";
		$send = "no";
		}
	if (!empty ($email1)) {
		if (!check_injection($email1)) { 
			echo $stop_message;
			$send = "no";
			}
		if (!check_email($email1)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		if (!block_domain($email1)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		}
	if (!empty ($email2)) {
		if (!check_injection($email2)) { 
			echo $stop_message;
			$send = "no";
			}
		if (!check_email($email2)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		if (!block_domain($email2)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		}
	if (!empty ($email3)) {
		if (!check_injection($email3)) { 
			echo $stop_message;
			$send = "no";
			}
		if (!check_email($email3)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		if (block_domain($email3)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		}
	if (!empty ($email4)) {
		if (!check_injection($email4)) { 
			echo $stop_message;
			$send = "no";
			}
		if (!check_email($email4)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		if (!block_domain($email4)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		}
	if (empty ($nachricht)) {  
		echo "Geben Sie bitte eine Nachricht ein. Danke.<br />";
		$send = "no";
		}
	if (!empty ($nachricht)) {
		if (!check_injection($nachricht)) { 
			echo $stop_message;
			$send = "no";
			}
		}
//Daten senden
	if ($send == "yes") {
$headers = "From: $firstname $lastname <$email>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n"; 
mail("$email1", "$firstname $lastname empfiehlt Dir: $mysite","
Hallo $emp1,
$firstname $lastname empfiehlt Dir: $mysite

außerdem möchte er Dir noch Folgendes mitteilen:
---
$nachricht
---
Datum: $date
ip: $ip","$headers");

mail("$email2", "$firstname $lastname empfiehlt Dir: $mysite","
Hallo $emp2,
$firstname $lastname empfiehlt Dir: $mysite

außerdem möchte er Dir noch Folgendes mitteilen:
---
$nachricht
---
Datum: $date
ip: $ip","$headers");

mail("$email3", "$firstname $lastname empfiehlt Dir: $mysite","
Hallo $emp3,
$firstname $lastname empfiehlt Dir: $mysite

außerdem möchte er Dir noch Folgendes mitteilen:
---
$nachricht
---
Datum: $date
ip: $ip","$headers");

mail("$email4", "$firstname $lastname empfiehlt Dir: $mysite","
Hallo $emp4,
$firstname $lastname empfiehlt Dir: $mysite

außerdem möchte er Dir noch Folgendes mitteilen:
---
$nachricht
---
Datum: $date
ip: $ip","$headers");
}}
//Kontaktformular
?>

An irgendetwas scheint es noch zu happern...

Diese Fehlermeldung kommt: Parse error: parse error, unexpected T_STRING in /home/www/web29/html/PHP/empfehlen.php on line 2

nur an was? :rolleyes:
 
Da fehlt auch was:
setze statt
PHP:
<?php 
email injection detected! - ip: logged<br />Sie haben Daten in einer Form angegeben, die auf einen versuchten Missbrauch schlie&szlig;en lassen!</p><p>Die Ausdr&uuml;cke wie 'bbc:', 'cc:' oder 'Content-Type:' sind nicht in allen Feldern erlaubt.<br />Bitte überprüfen Sie Ihre Eingaben und versuchen Sie es erneut.</p>";
das ein

PHP:
<?php
//Funktion Formulareingaben überprüfen
function check_injection($foobar) {
    if ( strpos($foobar,"\n") || strpos($foobar,"\r") || strpos($foobar,"cc:") || strpos($foobar,"bcc:") || strpos($foobar,"Content-Type:")) {
        return flase;
        } 
    else { return true; }                
    } 

//Funktion Email überprüfen
function check_email($foobar) {
    $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,4}';                            
    $domain_part    = "$dom_subpart$dom_mainpart$dom_tldpart";
    $regex            = "$protocol?$user_part\@$domain_part";
    return preg_match("/^$regex$/",$foobar);                    
    } 

//Funktion Domains blocken
function block_domain($foobar) {
    if ( strpos($foobar,"meine-domain.de") || strpos($foobar,"andere-domain.com")) {
        return false;
        } 
    else { return true; }                
    } 

// Standardvariablen definieren
$betreff = "Betreff";
$nachricht = "Nachricht";
$mysite = "www.google.de";

//Fehlermeldung für Email Injection
$stop_message = "<p>email injection detected! - ip: logged<br />Sie haben Daten in einer Form angegeben, die auf einen versuchten Missbrauch schlie&szlig;en lassen!</p><p>Die Ausdr&uuml;cke wie 'bbc:', 'cc:' oder 'Content-Type:' sind nicht in allen Feldern erlaubt.<br />Bitte überprüfen Sie Ihre Eingaben und versuchen Sie es erneut.</p>";
 
Ja so sieht das ganze schon viel besser aus. Indemfall ist ein Teil im Email verloren gegangen.

Jetzt kommt auch die Fehlermeldung nicht mehr.

Nur:

Die mails kommen bis jetzt noch nicht an!

HMTL-Code:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Kontakt</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


<link href="../CSS/Style.css" rel="stylesheet" type="text/css">
</head>

<body class="BgContent">
<span class="normal">Seite weiterempfehlen</span>
<form action="http://www.auktions-gate.ch/PHP/empfehlen.php" name="formular" method="post" onSubmit="return check()">

<!-- Inputs (alle Type = text ) -->
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td><table width="600" border="0" align="left" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="2" class="Titel_Normal">Absender</td>
  </tr>
  <tr>
    <td width="109" class="normal">Name:</td>
    <td width="491"><input name="Name" type="text" id="Name" size="60"></td>
  </tr>
  
   <tr>
    <td class="normal">Email:</td>
    <td><input name="email_ab" type="text" id="email_ab" size="60"></td>
  </tr>
  
   <tr>
    <td valign="top" class="normal">Deine Mitteilung :</td>
    <td><textarea name="Mitteilung" cols="46" rows="10" id="Mitteilung"></textarea>
      <br></td>
  </tr>
  
   <tr>
    <td colspan="2" valign="top" class="normal"><br></td>
    </tr>
	<tr>
    <td colspan="2" class="Titel_Normal">Empf&auml;nger</td>
  </tr>
	 <tr>
    <td class="normal">Email:</td>
    <td><input name="email_empf1" type="text" id="email_empf1" size="60"></td>
  </tr>
   <tr>
    <td class="normal">Email:</td>
    <td><input name="email_empf2" type="text" id="email_empf2" size="60"></td>
  </tr>
   <tr>
    <td class="normal">Email:</td>
    <td><input name="email_empf3" type="text" id="email_empf3" size="60"></td>
  </tr>
   <tr>
    <td class="normal">Email:</td>
    <td><input name="email_empf4" type="text" id="email_empf4" size="60"></td>
  </tr>
  

  
  <tr>
    <td colspan="2" valign="top" class="normal"><br></td>
    </tr>
  
  
   <tr>
    <td>&nbsp;      </td>
    <td><input name="submit2" type="submit" value="Empfehlen"></td>
   </tr>
	<tr>
    <td colspan="2" valign="top" class="normal"><br></td>
    </tr>
	<tr>
    <td valign="top" class="normal">Adresse:<br></td>
            <td valign="top" class="normal">auktions-gate<br>
      Mariabergstrasse 11<br>
      CH-9400 Rorschach<br>
      Tel. 071 845 45 05 <br>
      <a href="mailto:info@auktions-gate.ch">info@auktions-gate.ch</a></td>
	</tr>
	<tr>
	  <td colspan="2" class="normal">&nbsp;</td>
	</tr>
</table></td>
  </tr>
</table>
</form>
</body>
</html>

Und PHP Code:

Code:
<?php
//Funktion Formulareingaben überprüfen
function check_injection($foobar) {
    if ( strpos($foobar,"\n") || strpos($foobar,"\r") || strpos($foobar,"cc:") || strpos($foobar,"bcc:") || strpos($foobar,"Content-Type:")) {
        return flase;
        } 
    else { return true; }                
    } 

//Funktion Email überprüfen
function check_email($foobar) {
    $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,4}';                            
    $domain_part    = "$dom_subpart$dom_mainpart$dom_tldpart";
    $regex            = "$protocol?$user_part\@$domain_part";
    return preg_match("/^$regex$/",$foobar);                    
    } 

//Funktion Domains blocken
function block_domain($foobar) {
    if ( strpos($foobar,"meine-domain.de") || strpos($foobar,"andere-domain.com")) {
        return false;
        } 
    else { return true; }                
    } 

// Standardvariablen definieren
$betreff = "Betreff";
$nachricht = "Nachricht";
$mysite = "www.google.de";

//Fehlermeldung für Email Injection
$stop_message = "<p>email injection detected! - ip: logged<br />Sie haben Daten in einer Form angegeben, die auf einen versuchten Missbrauch schlie&szlig;en lassen!</p><p>Die Ausdr&uuml;cke wie 'bbc:', 'cc:' oder 'Content-Type:' sind nicht in allen Feldern erlaubt.<br />Bitte überprüfen Sie Ihre Eingaben und versuchen Sie es erneut.</p>";

if (isset($_POST['submit'])) {
//falls register globals aus ist
	$verify1 = $_POST['verify1'];
	$verify2 = $_POST['verify2'];
	$firstname = htmlentities($_POST['firstname']);
	$lastname = htmlentities($_POST['lastname']);
	$email = $_POST['email'];
	$emp1 = $_POST['emp1'];
	$email1 = $_POST['email1'];
	$emp2 = $_POST['emp2'];
	$email2 = $_POST['email2'];
	$emp3 = $_POST['emp3'];
	$email3 = $_POST['email3'];
	$emp4 = $_POST['emp4'];
	$email4 = $_POST['email4'];
	$nachricht = htmlentities($_POST['nachricht']);
	
	$send = "yes";
//Daten überprüfen
	// Überprüfen ob das Formular zur Eingabe benutzt wurde
	if ($verify2 != md5(md5($verify1))) {
		echo $stop_message;
		$send = "no";
		}
	
	//IP und Datum ermitteln
	$remote = getenv("REMOTE_ADDR"); 
	if ($remote == "") { $ip = "<i> no ip </i>"; }
	else {
		$ip = getHostByAddr($remote); 
		$ip .= " // ";
		$ip .= $remote; 
	}
	if (!empty($HTTP_POST_VARS)) { extract($HTTP_POST_VARS); } 
	$date = date("m.d.Y H:i:s"); 

	//Daten überprüfen
	if ( empty ($firstname)) {  
		echo "Geben Sie bitte Ihren vollst&auml;ndigen Namen ein. Danke.<br />";
		$send = "no";
		}
	if (!empty ($lastname)) {
		if (!check_injection($lastname)) { 
			echo $stop_message;
			$send = "no";
			}
		}
	if (!empty ($firstname)) {
		if (!check_injection($firstname)) { 
			echo $stop_message;
			$send = "no";
			}
		}
	if (empty ($email)) {  
		echo "Geben Sie bitte Ihre Emailadresse ein. Danke.<br />";
		$send = "no";
		}
	if (!empty ($email)) {
		if (!check_injection($email)) { 
			echo $stop_message;
			$send = "no";
			}
		if (!check_email($email)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		if (!block_domain($email)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		}
	if (empty ($email1)) {  
		echo "Geben Sie bitte mindestens die Emailadresse eines Empfängers ein. Danke.<br />";
		$send = "no";
		}
	if (!empty ($email1)) {
		if (!check_injection($email1)) { 
			echo $stop_message;
			$send = "no";
			}
		if (!check_email($email1)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		if (!block_domain($email1)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		}
	if (!empty ($email2)) {
		if (!check_injection($email2)) { 
			echo $stop_message;
			$send = "no";
			}
		if (!check_email($email2)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		if (!block_domain($email2)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		}
	if (!empty ($email3)) {
		if (!check_injection($email3)) { 
			echo $stop_message;
			$send = "no";
			}
		if (!check_email($email3)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		if (block_domain($email3)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		}
	if (!empty ($email4)) {
		if (!check_injection($email4)) { 
			echo $stop_message;
			$send = "no";
			}
		if (!check_email($email4)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		if (!block_domain($email4)) {
			echo "Geben Sie bitte eine g&uuml;ltige Emailadresse an. Danke.<br />";
			$send = "no";
			}
		}
	if (empty ($nachricht)) {  
		echo "Geben Sie bitte eine Nachricht ein. Danke.<br />";
		$send = "no";
		}
	if (!empty ($nachricht)) {
		if (!check_injection($nachricht)) { 
			echo $stop_message;
			$send = "no";
			}
		}
//Daten senden
	if ($send == "yes") {
$headers = "From: $firstname $lastname <$email>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n"; 
mail("$email1", "$firstname $lastname empfiehlt Dir: $mysite","
Hallo $emp1,
$firstname $lastname empfiehlt Dir: $mysite

außerdem möchte er Dir noch Folgendes mitteilen:
---
$nachricht
---
Datum: $date
ip: $ip","$headers");

mail("$email2", "$firstname $lastname empfiehlt Dir: $mysite","
Hallo $emp2,
$firstname $lastname empfiehlt Dir: $mysite

außerdem möchte er Dir noch Folgendes mitteilen:
---
$nachricht
---
Datum: $date
ip: $ip","$headers");

mail("$email3", "$firstname $lastname empfiehlt Dir: $mysite","
Hallo $emp3,
$firstname $lastname empfiehlt Dir: $mysite

außerdem möchte er Dir noch Folgendes mitteilen:
---
$nachricht
---
Datum: $date
ip: $ip","$headers");

mail("$email4", "$firstname $lastname empfiehlt Dir: $mysite","
Hallo $emp4,
$firstname $lastname empfiehlt Dir: $mysite

außerdem möchte er Dir noch Folgendes mitteilen:
---
$nachricht
---
Datum: $date
ip: $ip","$headers");
}}
//Kontaktformular
?>

Das ganze ist hier online: http://www.auktions-gate.ch/Frames/Weiterempfehlen.htm

Wenn ich auf den Button "Weiterempfehlen" klicke, ruft es das PHP File auf, aber dann kommt nur ein weiser Screen und die Mails kommen leider nicht an... :confused:
 
hast Du ICQ MSN oder so
wenn ja - meld dich mal per pn
geht dann etwas schneller :)

und mal eine ganz andere Frage
hast Du evtl Dein Formular genommen?

Nimm bitte das Formular was ich erstellt habe,
die Feldnamen etwas anders sind,
oder pass Deine Feldnamen an :)

Ob Du mein Form in eine Tabelle packst oder nichtist dann egal.
 
Zuletzt bearbeitet:
Nimm bitte das Formular was ich erstellt habe,
die Feldnamen etwas anders sind,


Hast Du das per Mail geschickt?

Das ist leider nicht angekommen! Das würde schonmal viel erklären. :suspekt:

Könntest Du evtl. das Formular hier posten?
 

Neue Beiträge

Zurück