kostenloser Webspace werbefrei: lima-city


PHP: Kontakt Forumlar mit Email vernknüpfen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Das habe ich für meine Webside benutzt:

    Das musst du aber anpassen!!!
    <h2>Mail</h2>
    <?php
    	function mailcheck($mail)
    	{
    		$mail = eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $mail);
    		return $mail;
    	}
    
    	if( $_GET["mod"] == "send" )
    	{
    		$ihremail = "deine@emailadresse";
    		$error = Array();
    		$errorCount = 0;
    		$name = $_POST['name'];
    		$email = $_POST['abs'];
    		$betreff = $_POST['btr'];
    		$text = $_POST['msg'];		
    		if(empty($name))
    		{
    			$error[$errorCount] = 1;
    			$errorCount++;
    		}
    		if(empty($email))
    		{
    			$error[$errorCount] = 2;
    			$errorCount++;
    		}
    		if(!mailcheck($email))
    		{
    			$error[$errorCount] = 3;
    			$errorCount++;
    		}
    		if(empty($betreff))
    		{
    			$error[$errorCount] = 4;
    			$errorCount++;
    		}
    		if(empty($text))
    		{
    			$error[$errorCount] = 5;
    			$errorCount++;
    		}
    		if( $errorCount == 0 )
    		{
    			$email = "\"$name\" <$email>";
    			$nachricht = $text;
    			$subject = $betreff;
    			$nachricht1 = $email . "\n\n" . $nachricht;
    			mail($ihremail,$subject,$nachricht1,"FROM: $email");
    		}
    		if( $errorCount == 0 )
    		{
    			$sendsuccessful = true;
    		}
    		else
    		{
    			$sendsuccessful = false;
    		}
    		$mailsend = true;
    	}
    	else
    	{
    		$mailsend = false;
    	}
     	if( $mailsend )
    	{
    		if( $sendsuccessful )
    		{
    ?>
    <h3>Die Mail wurde erfolgreich versand.</h3>
    <?php
    		}
    		else
    		{
    ?>
    <h3>Eine E-Mail an Coder.0x1 senden</h3>
    <p>
    	<form action="./?page=mail&mod=send&lang=<?php echo $lang; ?>" method="POST">
    		<table border="0px">
    			<tr>
    				<td>Name:</td>
    				<td><input type="text" name="name" value="<?php echo $name; ?>"<?php if( in_array( 1, $error ) ) echo " style=\"background-color: #FF8080;\""; ?>></input></td>
    				<td>
    					<?php
    						if( in_array( 1, $error ) ) echo "<span style=\"color: red;\"><img src=\"./img/false_s.gif\"></img>&nbsp;Bitte geben Sie einen Namen ein</span>";
    						else echo "<img src=\"./img/true_s.gif\"></img>";
    					?>
    				</td>
    			</tr>
    			<tr>
    				<td>E-Mail:</td>
    				<td><input type="text" name="abs" value="<?php echo $email; ?>"<?php if( in_array( 2, $error ) || in_array( 3, $error ) ) echo " style=\"background-color: #FF8080;\""; ?>></input></td>
    				<td>
    					<?php
    						if( in_array( 2, $error ) )	echo "<span style=\"color: red;\"><img src=\"./img/false_s.gif\"></img>&nbsp;Bitte geben Sie ihre E-Mailadresse ein</span>";
    						else if( in_array( 3, $error ) ) echo "<span style=\"color: red;\"><img src=\"./img/false_s.gif\"></img>&nbsp;Ihre E-Mailadresse ist fehlerhaft</span>";
    						else echo "<img src=\"./img/true_s.gif\"></img>";
    					?>
    				</td>
    			</tr>
    			<tr>
    				<td>Betreff:</td>
    				<td><input type="text" name="btr" value="<?php echo $betreff; ?>"<?php if( in_array( 4, $error ) ) echo " style=\"background-color: #FF8080;\""; ?>></input></td>
    				<td>
    					<?php
    						if( in_array( 4, $error ) ) echo "<span style=\"color: red;\"><img src=\"./img/false_s.gif\"></img>&nbsp;Bitte geben Sie einen Betreff ein</span>";
    						else echo "<img src=\"./img/true_s.gif\"></img>";
    					?>
    				</td>
    			</tr>
    			<tr>
    				<td>Nachricht:</td>
    				<td><textarea name="msg" rows="5" cols="50"<?php if( in_array( 5, $error ) ) echo " style=\"background-color: #FF8080;\""; ?>><?php echo $text; ?></textarea></td>
    				<td>
    					<?php
    						if( in_array( 5, $error ) ) echo "<span style=\"color: red;\"><img src=\"./img/false_s.gif\"></img>&nbsp;Bitte geben Sie eine Nachricht ein</span>";
    						else echo "<img src=\"./img/true_s.gif\"></img>";
    					?>
    				</td>
    			</tr>
    			<tr>
    				<td></td>
    				<td>
    					<input type="reset" name="reset" value="Zurücksetzen"></input>
    					<input type="submit" name="submit" value="E-Mail senden"></input>
    				</td>
    				<td></td>
    			</tr>
    		</table>
    	</form>
    </p>
    <?php
    		}
    	}
    	else
    	{
    ?>
    <h3>Eine E-Mail an Coder.0x1 senden</h3>
    <p>
    	<form action="./?page=mail&mod=send&lang=<?php echo $lang; ?>" method="POST">
    		<table border="0px">
    			<tr>
    				<td>Name:</td>
    				<td><input type="text" name="name" value="Ihr Name"></input></td>
    			</tr>
    			<tr>
    				<td>E-Mail:</td>
    				<td><input type="text" name="abs" value="E-Mailadresse"></input></td>
    			</tr>
    			<tr>
    				<td>Betreff:</td>
    				<td><input type="text" name="btr" value="Betreff"></input></td>
    			</tr>
    			<tr>
    				<td>Nachricht:</td>
    				<td><textarea name="msg" rows="5" cols="50">Nachricht</textarea></td>
    			</tr>
    			<tr>
    				<td></td>
    				<td>
    					<input type="reset" name="reset" value="Zurücksetzen"></input>
    					<input type="submit" name="submit" value="E-Mail senden"></input>
    				</td>
    			</tr>
    		</table>
    	</form>
    </p>
    <?php
    	}
    ?>


    Beitrag zuletzt geändert: 17.7.2011 17:10:36 von coder-0x1
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Autor dieses Themas

    bluewaterlp

    bluewaterlp hat kostenlosen Webspace.

    Naja wenn der FTP zugang wieder geht dann probier ich es mal aus.

    Thx coder...

    Hat jemand noch andere vorschlägen wenn nicht schaut doch nochmal meins durch ... sonst soweit danke! :D
  4. Du musst es aber noch bearbeiten, da sind, glaub' ich noch Sachen drin, die du nicht brauchst.
    Und die E-Mailadresse musst du ändern...
    Wenn du es dir anschauen willst, dann hier.
  5. Autor dieses Themas

    bluewaterlp

    bluewaterlp hat kostenlosen Webspace.

    Email? Wo? du meinst das mit $Lost="EMAIL"... das war nur ein beispiel wollte jetzt nicht meine email hier angeben :)

    Naja wenn der FTP zugang wieder geht ... kommte mit FZ nicht klar :)

    Naja liebe grüßle
  6. Hast du dir das Original (link) mal angesehen?

    Das ist Mehrsprachig.
    Keine Angst, der Code, den ich gepostet habe, ist einsprachig (Deutsch), aber es wir die Sprachvariable $lang immer weitergegeben.

    Ich hatte ein bischen Zeit und habe es geändert:
    <h2>Mail</h2>
    <?php
    	function mailcheck($mail)
    	{
    		$mail = eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $mail);
    		return $mail;
    	}
    
    	if( $_GET["mod"] == "send" )
    	{

    Dann musst du deine E-Mailadresse eingeben:
    $ihremail = "deine@emailadresse";

    und dann
    $error = Array();
    		$errorCount = 0;
    		$name = $_POST['name'];
    		$email = $_POST['abs'];
    		$betreff = $_POST['btr'];
    		$text = $_POST['msg'];		
    		if(empty($name))
    		{
    			$error[$errorCount] = 1;
    			$errorCount++;
    		}
    		if(empty($email))
    		{
    			$error[$errorCount] = 2;
    			$errorCount++;
    		}
    		if(!mailcheck($email))
    		{
    			$error[$errorCount] = 3;
    			$errorCount++;
    		}
    		if(empty($betreff))
    		{
    			$error[$errorCount] = 4;
    			$errorCount++;
    		}
    		if(empty($text))
    		{
    			$error[$errorCount] = 5;
    			$errorCount++;
    		}
    		if( $errorCount == 0 )
    		{
    			$email = "\"$name\" <$email>";
    			$nachricht = $text;
    			$subject = $betreff;
    			$nachricht1 = $email . "\n\n" . $nachricht;
    			mail($ihremail,$subject,$nachricht1,"FROM: $email");
    		}
    		if( $errorCount == 0 )
    		{
    			$sendsuccessful = true;
    		}
    		else
    		{
    			$sendsuccessful = false;
    		}
    		$mailsend = true;
    	}
    	else
    	{
    		$mailsend = false;
    	}
     	if( $mailsend )
    	{
    		if( $sendsuccessful )
    		{
    ?>
    <h3>Die Mail wurde erfolgreich versand.</h3>
    <?php
    		}
    		else
    		{
    ?>

    So, hier solltest du auch etwas ändern:
    <h3>Eine E-Mail an Coder.0x1 senden</h3>

    Und dann weiter:
    <p>
    	<form action="./?page=mail&mod=send" method="POST">
    		<table border="0px">
    			<tr>
    				<td>Name:</td>
    				<td><input type="text" name="name" value="<?php echo $name; ?>"<?php if( in_array( 1, $error ) ) echo " style=\"background-color: #FF8080;\""; ?>></input></td>
    				<td>
    					<?php
    						if( in_array( 1, $error ) ) echo "<span style=\"color: red;\">Bitte geben Sie einen Namen ein</span>";
    					?>
    				</td>
    			</tr>
    			<tr>
    				<td>E-Mail:</td>
    				<td><input type="text" name="abs" value="<?php echo $email; ?>"<?php if( in_array( 2, $error ) || in_array( 3, $error ) ) echo " style=\"background-color: #FF8080;\""; ?>></input></td>
    				<td>
    					<?php
    						if( in_array( 2, $error ) )	echo "<span style=\"color: red;\">Bitte geben Sie ihre E-Mailadresse ein</span>";
    						else if( in_array( 3, $error ) ) echo "<span style=\"color: red;\">Ihre E-Mailadresse ist fehlerhaft</span>";
    					?>
    				</td>
    			</tr>
    			<tr>
    				<td>Betreff:</td>
    				<td><input type="text" name="btr" value="<?php echo $betreff; ?>"<?php if( in_array( 4, $error ) ) echo " style=\"background-color: #FF8080;\""; ?>></input></td>
    				<td>
    					<?php
    						if( in_array( 4, $error ) ) echo "<span style=\"color: red;\">Bitte geben Sie einen Betreff ein</span>";
    					?>
    				</td>
    			</tr>
    			<tr>
    				<td>Nachricht:</td>
    				<td><textarea name="msg" rows="5" cols="50"<?php if( in_array( 5, $error ) ) echo " style=\"background-color: #FF8080;\""; ?>><?php echo $text; ?></textarea></td>
    				<td>
    					<?php
    						if( in_array( 5, $error ) ) echo "<span style=\"color: red;\">Bitte geben Sie eine Nachricht ein</span>";
    					?>
    				</td>
    			</tr>
    			<tr>
    				<td></td>
    				<td>
    					<input type="reset" name="reset" value="Zurücksetzen"></input>
    					<input type="submit" name="submit" value="E-Mail senden"></input>
    				</td>
    				<td></td>
    			</tr>
    		</table>
    	</form>
    </p>
    <?php
    		}
    	}
    	else
    	{
    ?>

    Hier auch etwas ändern:
    <h3>Eine E-Mail an Coder.0x1 senden</h3>

    Und zum Schluss:
    <p>
    	<form action="./?page=mail&mod=send&lang=<?php echo $lang; ?>" method="POST">
    		<table border="0px">
    			<tr>
    				<td>Name:</td>
    				<td><input type="text" name="name" value="Ihr Name"></input></td>
    			</tr>
    			<tr>
    				<td>E-Mail:</td>
    				<td><input type="text" name="abs" value="E-Mailadresse"></input></td>
    			</tr>
    			<tr>
    				<td>Betreff:</td>
    				<td><input type="text" name="btr" value="Betreff"></input></td>
    			</tr>
    			<tr>
    				<td>Nachricht:</td>
    				<td><textarea name="msg" rows="5" cols="50">Nachricht</textarea></td>
    			</tr>
    			<tr>
    				<td></td>
    				<td>
    					<input type="reset" name="reset" value="Zurücksetzen"></input>
    					<input type="submit" name="submit" value="E-Mail senden"></input>
    				</td>
    			</tr>
    		</table>
    	</form>
    </p>
    <?php
    	}
    ?>


    Ich denke, das ist alles...

    Beitrag zuletzt geändert: 18.7.2011 13:49:14 von coder-0x1
  7. Autor dieses Themas

    bluewaterlp

    bluewaterlp hat kostenlosen Webspace.

    Naja ich warte noch bis der FTP zugang wieder offen ist dann probier ich es mal aus.

    Wenns net klappt dann meld ich mich nochmal.

    Danke vorerst mal :)
  8. FTP funktioniert, nur Filemanager nicht.

    @coder

    Wie wär's damit?

    function mailcheck($email) {
    	$isValid = true;
    	$atIndex = strrpos($email, "@");
    	
    	if (is_bool($atIndex) && !$atIndex) {
    		$isValid = false;
    	}
    	else {
    		$domain = substr($email, $atIndex+1);
    		$local = substr($email, 0, $atIndex);
    		$localLen = strlen($local);
    		$domainLen = strlen($domain);
    		if ($localLen < 1 || $localLen > 64) {
    			$isValid = false;
    		}
    		elseif ($domainLen < 1 || $domainLen > 255)
    		{
    			$isValid = false;
    		}
    		elseif ($local[0] == '.' || $local[$localLen-1] == '.') {
    			$isValid = false;
    		}
    		elseif (preg_match('/\\.\\./', $local)) {
    			$isValid = false;
    		}
    		elseif (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) {
    			$isValid = false;
    		}
    		elseif (preg_match('/\\.\\./', $domain)) {
    			$isValid = false;
    		}
    		elseif(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) {
    			if (!preg_match('/^"(\\\\"|[^"])+"$/', str_replace("\\\\","",$local))) {
    				$isValid = false;
    			}
    		}
    		if ($isValid && !(@checkdnsrr($domain,"MX") || @checkdnsrr($domain,"A"))) {
    			$isValid = false;
    		}
    	}
    	return $isValid;
    }
  9. fabo schrieb:
    FTP funktioniert, nur Filemanager nicht.

    @coder

    Wie wär's damit?

    function mailcheck($email) {
    	$isValid = true;
    	$atIndex = strrpos($email, "@");
    	
    	if (is_bool($atIndex) && !$atIndex) {
    		$isValid = false;
    	}
    	else {
    		$domain = substr($email, $atIndex+1);
    		$local = substr($email, 0, $atIndex);
    		$localLen = strlen($local);
    		$domainLen = strlen($domain);
    		if ($localLen < 1 || $localLen > 64) {
    			$isValid = false;
    		}
    		elseif ($domainLen < 1 || $domainLen > 255)
    		{
    			$isValid = false;
    		}
    		elseif ($local[0] == '.' || $local[$localLen-1] == '.') {
    			$isValid = false;
    		}
    		elseif (preg_match('/\\.\\./', $local)) {
    			$isValid = false;
    		}
    		elseif (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) {
    			$isValid = false;
    		}
    		elseif (preg_match('/\\.\\./', $domain)) {
    			$isValid = false;
    		}
    		elseif(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) {
    			if (!preg_match('/^"(\\\\"|[^"])+"$/', str_replace("\\\\","",$local))) {
    				$isValid = false;
    			}
    		}
    		if ($isValid && !(@checkdnsrr($domain,"MX") || @checkdnsrr($domain,"A"))) {
    			$isValid = false;
    		}
    	}
    	return $isValid;
    }

    Ja, das sieht gut aus. :thumb:
    Es behandel auf jeden Fall alle (soweit ich sehe) möglichen Fehler und Falscheingaben.
  10. Autor dieses Themas

    bluewaterlp

    bluewaterlp hat kostenlosen Webspace.

    Klappt soweit eigentlich alles ... aber wenn ich in der Nachricht die Email und den namen dazu setze bekomm ich das als email:

    Email:
    Test
    Name =
    E-Mail =




    PHP:
    $nachricht = "Test
    Name = $Vorname
    E-Mail = $Email";


    Kann mir einer Sagen wo der Fehler liegt?
  11. Exsistieren die $_POST Felder "name" und "abs" ?
  12. Vor dem mail()-Befehl einfach mal

    die(var_dump($_POST));


    schreiben und prüfen, welche Daten an das Script übergeben werden.

    Beitrag zuletzt geändert: 21.7.2011 13:26:49 von fabo
  13. Ich glaub das Problem hat sich mittlerweile erledigt, wir haben das gestern im Chat geklärt :-D
  14. Mich interessiert trotzdem, wo der Fehler war ;-)
  15. 1. Fehler war:
    $nachricht = "Test" Name = $Vorname E-Mail = $Email;

    könnte so aussehen:
    $nachricht = "Test Name = ".$Vorname." E-Mail = ".Email." ";


    Und dann waren noch die Variablen $Vorname und $Email leer, weil bei der Übergabe per $_POST nicht die gleichen Namen benutzt worden sind wie im HTML-form...

  16. Autor dieses Themas

    bluewaterlp

    bluewaterlp hat kostenlosen Webspace.

    alfr3d schrieb:
    1. Fehler war:
    $nachricht = "Test" Name = $Vorname E-Mail = $Email;

    könnte so aussehen:
    $nachricht = "Test Name = ".$Vorname." E-Mail = ".Email." ";


    Und dann waren noch die Variablen $Vorname und $Email leer, weil bei der Übergabe per $_POST nicht die gleichen Namen benutzt worden sind wie im HTML-form...




    *rotwerd* Ja ist mir später auch aufgefallen... Naja habs soweit eigentlich jetzt fertig :)
    Alfredolin :) ich danke dir nochmal ganz recht herzlich :)

    Kann geschlossen werden
  17. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!