[PHP] Kontaktformular

[Moepi]1

Lt. Commander
Registriert
Jan. 2002
Beiträge
1.233
Hallo Leute,
Gleich mal vorweg: ich hab von HTML kaum und von PHP garkeine Ahnung, Newbie eben - fängt schonmal gut an *Fg*.

Also zu meinem Problem: ich versuche grade ein Kontaktformular in PHP Form auf ne Webseite zu bannen. Dabei verwende ich das PHP Skript von http://www.tools4web.de/php-scripte/i_8/script.html (hab ich in nem Forumthread hier gefunden).
Das Formular selbst binde ich in die bestehende Seite in HTML Form ein. Das eigentliche Versenden der Mail soll dann von dem PHP Skript erledigt werden, das ich auf eine zweite HTML Seite (danke.htm) einbinde und als PHP abspeichere. Ich hab dann also die kontakt.htm und die danke.php. Problem ist jetzt, dass es einfach nicht klappt - es wird keine Mail verschickt.

Das ganze läuft derzeit unter nem Apachen, da IIS ja standardmäßig wieder kein PHP kann. Hat jemand ne Idee was ich falsch machen könnte? Wo genau muss ich in der PHP Seite das Skrip einbinden? In Body oder muss das an ne feste Stelle?
Alternativ nehm ich auch gern ein anderes Mailformular, Hauptsache der Dreck funktioniert ohne größeren Aufwand!


Danke schonmal!
 
Hallo,

wo du das ganze eibindest ist vollkommen egal. Du kannst es in den Header, in den Body oder wenn du willst auch mitten in einen HTML-Tag schreiben. ;)
Wie sieht denn dein jetziger Code aus?
Erstelle auch einmal eine PHP-Datei mit folgendem Inhalt:
PHP:
<?=phpinfo(); ?>
Beim Aufruf sollten dann sämtliche PHP-Einstellungen auf dem Server sichtbar werden und auch zu Geschicht kommen, ob PHP wirklich auch ordnungsgemäß eingerichtet ist.

MfG mh1001
 
Da liegt wohl der Hase im Pfeffer - wenn ich das mach, bleibt die Seite leer. *grml*
 
[Moepi]1 schrieb:
Da liegt wohl der Hase im Pfeffer - wenn ich das mach, bleibt die Seite leer. *grml*
So wie es dann aussieht scheint PHP wohl gar nicht erst zu laufen. Wie bist du denn bei der Einrichtung vorgegangen?
Hast du PHP ordnungsgemäß eingebunden?

MfG mh1001
 
Hat sich schon erledigt - PHP lief net.

Danke Dir!
 
ok hoffentlich nimmt mir das jetzt niemand krumm wenn ich dieses thema wieder ausgrabe aber mein server würde PHP unterstützen.
bei mir funtzt das aber nicht richtig der sendet nicht und öffnet immer die danke.php datei.

wenn das zur lösung des Problems hilft dann schreibe ich mal den cod der beiden rein.

kontakt.html
Code:
<html>
<head>
<title>Kontaktformular</title>
<link rel="stylesheet" href="layout.css" type="text/css">
</head>
<body>
<p class="ueber1" align="center">Formular</p>
<center><form name="form" action="danke.php" method="post"> <!--danke.php ist die Datei, die nach dem Absenden aufgerufen wird und dafür sorgt dass die Daten versendet werden -->
<table witdh=100%> 
	<tr>
		<td><p>Name:<font color=blue>*</font></td>
		<td><br></td>
		<td><input type="text" name="name" size="40"></td>
	</tr>
	<tr>
		<td><p>E-Mail-Adresse:<font color=blue>*</font></td>
		<td><br></td>
		<td><input type="text" name="mail" size="40"></td>
	</tr>
	<tr>
		<td><p>Ihre Nachricht:<font color=blue>*</font></td>
		<td><br></td>
		<td><textarea name="nachricht" rows="5" cols="30"></textarea></td>
	</tr>
	<tr>
		<td colspan=3<p>Möchtest Du eine Kopie dieser Nachricht erhalten?</td>
	</tr>
	<tr>
		<td><input type=radio name=kopie value=ja checked>ja</td>
		<td><br></td>
		<td><input type=radio name=kopie value=nein>nein</td>
	</tr>	
	<tr>
		<td colspan=2><br></td>
		<td><center><input type="submit" value="Abschicken"> <input type="reset" value="Daten löschen"></center></td>
	</tr>
</table></form>
<center>Oder schickt eine Mail an </center><a class="link" href="mailto:daniel_kennerknecht@gmx.de">daniel_kennerknecht@gmx.de</a>
</body>
</html>

und jetzt die danke.php

Code:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>
<PRE>&lt;?
/*
############################################################################
#
#   (c) Feindt Computerservice, 2001
#
############################################################################
#
# Formmailer V.1.0
# COPYRIGHT NOTICE                                                           
# Copyright 2001 Feindt Computerservice
# All Rights Reserved.                     
# EMail: tools4web@feindt-walbaum.de
# URL  : http://www.tools4web.de  
#                                                                            
# Formmailer darf von jedermann kostenlos benutzt und geändert werden, solange
# dieser Copyright-Verweis und die restlichen Kommentare erhalten bleiben. Mit
# dem Einsatz dieses Skripts akzeptieren Sie, daß Feindt Computerservice von jeglicher
# Haftung und Gewährleistung hinsichtlich des Einsatzes befreit ist.
# 
# Der Verkauf dieses Skripts, auch in modifizierter Form, ist ohne vorherige
# schriftliche Genehmigung ausdrücklich untersagt.
# 
# Um dieses Skript über das Internet oder irgendein anderes Medium
# weiterzuverbreiten, benötigen Sie vorher unsere Erlaubnis. In jeden Fall
# müssen der Copyright-Verweis und die restlichen Kommentare erhalten bleiben.
###############################################################################</PRE>
<PRE>Dieses Script kann in bestehende PHP-Seiten problemlos eingebaut werden. 
Einfach alles markieren und kopieren. Aber denkt an die obenstehenden Bedingungen.
*/</PRE>
<PRE>/*Variablen werden umgewandelt*/
/*weitere Felder nach ähnlichem Muster verwenden*/
$name = $_POST['name'];
$nachricht = $_POST['nachricht'];
$mail = $_POST['mail'];</PRE>
<PRE>/*Hier werden alle Daten eingegeben*/
/*An wen soll die Anfrage gerichtet sein?*/
$webmaster = &quot;daniel_kennerknecht@gmx.de&quot;;</PRE>
<PRE>/*Welche E-Mail-Adresse soll als Absender eingegeben werden?*/
$absender = &quot;daniel_kennerknecht@gmx.de&quot;;
</PRE>
<PRE>/*Wie soll die Mail aussehen, die an den webmaster gerichtet ist? Formularfelder werden wie folgt eingefügt &quot;$NameDesFeldes&quot;*/
/*Betreff*/		$betreffwebmaster = &quot;Kontakt&quot;;
/*Textkörper*/  	$koerperwebmaster = &quot;$name ($mail) hat über die Webseite von http://www.rsl-klasse8b.de.vu folgende Nachricht hinterlassen:
			$nachricht&quot;;</PRE>
<PRE>/*wie soll die Mail aussehen, die an den Absender gerichtet ist?*/
/*Betreff*/		$betreffabsender = &quot;Kontakt Kopie&quot;;
/*Textkörper*/ 	$koerperabsender = &quot;herzlichen Dank für Deine Nachricht an die Kasse8b \n Du hast folgende Nachricht versandt:\n $nachricht\n&quot;;</PRE>
<PRE>/*Was soll nach dem Absenden des Formulares geschehen. 
1. Verweis auf andere HTML- bzw. PHP-Seiten (bei $action eine 1 eintragen)
2. Anzeige direkt in der danke.php (bei $action eine 2 eintragen)*/
$action = 2;</PRE>
<PRE>/*Es soll auf eine andere Datei verwiesen werden*/
$sUrlMailFalsch = &quot;http://domain.de/mailfalsch.html&quot;;
$sUrlFelderLeer = &quot;http://domain.de/felderleer.html&quot;;
$sUrlMailVersendet = &quot;http://www.rsl-klasse8b.de.vu&quot;;
</PRE>
<PRE>/*Direkte Anzeige der Fehler in der danke.php
Welche Fehlermeldung soll ausgegeben werden, wenn die E-Mail-Adresse falsch eingegeben wurde? Bitte mit HTML-Tags arbeiten,
es können auch Klassen für CSS zugewiesen werden*/
$mailfalsch = &quot;&lt;p class=ueber1&gt;Fehler&lt;/p&gt;&lt;p&gt;Leider ist die E-Mail-Adresse falsch&lt;/p&gt;&lt;p&gt;Bitte kontrolliere noch einmal die Eingabe und sende das Formular erneut ab.&quot;;</PRE>
<PRE>/*Welche Fehlermeldung soll ausgegeben werden, wenn nicht alle Pflicht-Felder ausgefüllt sind?*/
$felderleer = &quot;&lt;p class=ueber1&gt;Fehler&lt;/p&gt;&lt;p&gt;Die Nachricht konnte nicht versandt werden, da nicht alle Felder ausgefüllt wurden&lt;/p&gt;&quot;;</PRE>
<PRE>/*Wie soll der Text aussehen, wenn die E-Mail versendet wurde?*/
$abgesandt = &quot;&lt;p class=ueber1&gt;Danke,&lt;/p&gt;&lt;p&gt;wir haben die Nachricht versandt und werden uns evtl. noch einmal melden.&lt;/p&gt;&quot;;</PRE>
<PRE>/*Sind alle Felder ausgefüllt? für jedes Feld das ausgefüllt sein muß, muß hier ein entsprechender Eintrag gemacht werden*/
if ($name == &quot;&quot; || $mail ==&quot;&quot; || $nachricht ==&quot;&quot;)
/*##############################################################################
  #Bitte ab hier nichts mehr ändern. Alle Angaben sind im oberen Teil zu machen#
  ##############################################################################*/
	{
	/*nein*/
	if ($action == 1)
		header(&quot;location:&quot;.$sUrlFelderLeer);
	else echo &quot;$felderleer&quot;;
	}
		else
			{
			/*ja*/
			/*Ist die E-Mail-Adresse richtig eingegeben?*/
			if (ereg(&quot;^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$&quot;, $mail))
				{
				/*E-Mail-Adresse ist richtig*/
				mail(&quot;$webmaster&quot;,&quot;$betreffwebmaster&quot;,&quot;$koerperwebmaster\n\n--------------\nKostenlose Formmailer bei www.tools4web.de\n--------------\n&quot;,&quot;FROM: $mail\n&quot;);					</PRE>
<PRE>				/*Soll der Absender eine Kopie erhalten?*/
				if ($kopie == &quot;ja&quot;) 
					{
					mail(&quot;$mail&quot;,&quot;$betreffabsender&quot;,&quot;$koerperabsender\n\n--------------\nKostenlose Formmailer bei www.tools4web.de\n--------------&quot;,&quot;FROM: $absender\n&quot;);
					if ($action == 1) header(&quot;location:&quot;.$sUrlMailVersendet);
					else echo &quot;$abgesandt&quot;;
					}
				else
					{
					if ($action == 1) header(&quot;location:&quot;.$sUrlMailVersendet);
					else echo &quot;$abgesandt&quot;;
					echo &quot;$abgesandt&quot;;
					}
				}
				else
				{
					/*nein*/
					if ($action == 1) header(&quot;location:&quot;.$sUrlMailFalsch);
					else echo &quot;$mailfalsch&quot;;
				}				
		}
?&gt;</PRE>

die smilies sind selber gekommen.
 
Zuletzt bearbeitet:
Zurück
Oben