Verlinkung und erfolg anzeige

Support Forum von KontaktFormular-Script.de
Phonk
Beiträge: 12
Registriert: 19.11.2007 12:46

Beitrag von Phonk »

habe es geändert, leider sagt er mir dennoch "email kann nicht gesendet werden"!

der einzige unterschied ist dieses ">" zeichen oder?
admin
Site Admin
Beiträge: 336
Registriert: 09.03.2005 10:41
Wohnort: Arnstadt
Kontaktdaten:

Beitrag von admin »

Phonk hat geschrieben:habe es geändert, leider sagt er mir dennoch "email kann nicht gesendet werden"!

der einzige unterschied ist dieses ">" zeichen oder?
ja, wenn es nicht gehen sollte, müssen Sie sich an den Hoster wenden und fragen wieso man über die Php mail() funktion keine Email senden kann.

mfg. Nico Schubert
Phonk
Beiträge: 12
Registriert: 19.11.2007 12:46

Beitrag von Phonk »

beide formulare liegen bei dem gleichen hoster. also kann es jetzt nicht mehr am code liegen? Sondern nur noch am Hoster?


Soll über PHP eine E-Mail versendet werden, muss ab nun (wenn nicht schon geschehen) mit dem Parameter "-f" eine gültige Absenderadresse angegeben werden. Die Syntax lautet "-f absender@ihre_webpack_domain.tld". Fehlt diese Information, wird (und wurde auch schon bisher) von unserem System automatisch ein "-f info@ihre_webpack_domain.tld" angehangen, damit ein korrekter Absender ersichtlich ist.

Die Neuerung ist, dass nun (aufgrund der neuen Deaktivierbarkeit von E-Mailadressen) keine Mails mehr versandt werden, wenn keine gültige Adresse angegeben ist und auch keine info@-Adresse existiert.

Abhilfe kann sehr einfach geschaffen werden. Entweder verändern Sie Ihre Skripte so, dass ein gültiger Absender verwendet wird oder legen Sie im KIS die Adresse "info@" entsprechend an.

Dieser Parameter muss der E-Mail-Funktion im PHP-Quelltext übergeben werden. Dies könnte z.B. so aussehen:
mail ($empfänger, $betreff, $nachricht, $headers, "-f info@ihre_webpack_domain.tld");
admin
Site Admin
Beiträge: 336
Registriert: 09.03.2005 10:41
Wohnort: Arnstadt
Kontaktdaten:

Beitrag von admin »

Phonk hat geschrieben:beide formulare liegen bei dem gleichen hoster. also kann es jetzt nicht mehr am code liegen? Sondern nur noch am Hoster?
Kann ich nicht genau sagen, wenn Sie den Code ab ändern und diesen nicht offen legen. Die Fehlermeldung kommt nur wenn die mail() Funktion False liefert und da gibt es entweder ein Konfigurations Problem des Skriptes oder der Server hat Probleme mit der mail() Funktion.

Letzter Hinweis: Fügen Sie den Copyright Hinweis in das Script wieder ein oder ich muss Ihnen die Nutzungsrechte des Script entziehen.

Mit freundlichen Grüßen.
Nico Schubert
Phonk
Beiträge: 12
Registriert: 19.11.2007 12:46

Beitrag von Phonk »

Guten Morgen,

Das Problem lag am Hoster bzw. es musste im Admin Bereich eine Systemstandart mailadresse ausgewählt werden. Nun Funktioniert es, das einzige was noch nicht funktioniert ist das die Meldung "Ihre Nachricht wurde verschickt" angezeigt wird. Woran könnte das noch liegen?

Machen Sie mir mal ein Angebot fertig um eine Copyright freie Version zuerhalten.


MFG Flo Stuermer
admin
Site Admin
Beiträge: 336
Registriert: 09.03.2005 10:41
Wohnort: Arnstadt
Kontaktdaten:

Beitrag von admin »

Phonk hat geschrieben:Guten Morgen,

Das Problem lag am Hoster bzw. es musste im Admin Bereich eine Systemstandart mailadresse ausgewählt werden. Nun Funktioniert es, das einzige was noch nicht funktioniert ist das die Meldung "Ihre Nachricht wurde verschickt" angezeigt wird. Woran könnte das noch liegen?
MFG Flo Stuermer
Bitte Posten Sie mal den Code dann schaue ich mir den an, aber ich denke das es wieder mal an der Weiterleitung auf die Seite liegt und vorher eine Header Ausgabe gemacht wird. Daher kommt die Meldung nicht.
Phonk hat geschrieben:Machen Sie mir mal ein Angebot fertig um eine Copyright freie Version zuerhalten.
Bitte senden Sie mir eine Email mit Ihr Adresse und Sie bekommen dann eine Rechnung für zwei Copyright freie Versionen.

mfg. Nico Schubert
Phonk
Beiträge: 12
Registriert: 19.11.2007 12:46

Morgen

Beitrag von Phonk »

Hier die Codes...

Header

Code: Alles auswählen

<?
if (eregi("header.php",$_SERVER["PHP_SELF"])) { 
    header('Location: ./kontakt.php'); 
    die(); 
}  
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Datum aus Vergangenheit 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // immer ge?ndert 
header("Cache-Control: no-store, no-cache, must-revalidate");  // HTTP/1.1 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache");
?>
Index

Code: Alles auswählen

<?
error_reporting(0);
include("header.php");
include("config.php");

function check_email($email)
{
  return (eregi('^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-.]?[0-9a-zA-Z])*\\.[a-zA-Z]{2,4}$',$email)==false ? false : true);
}

$content=file_get_contents("template.html");
$show_form=true;
if(isset($_POST['submit']))
{
	$v_name=htmlentities($_POST['name']);
	$v_strasse=htmlentities($_POST['strasse']);
	$v_ort=htmlentities($_POST['ort']);
	$v_telefon=htmlentities($_POST['telefon']);
	$v_email=htmlentities($_POST['email']);
	$v_nachricht=htmlentities($_POST['nachricht']);
	$v_email = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "",  $v_email );
    $v_email = preg_replace( "/(content-type:|bcc:|cc:|to:|from:-)/im", "",   $v_email);
	if(empty($v_name))echo $errors['name']."<br>";
	if(empty($v_telefon))echo $errors['telefon']."<br>";
	elseif(empty($v_email)||!check_email($v_email))echo $errors['email']."<br>";
	else
	{
		$show_form=false;
		$data=array();
		$data['ip'] = $_SERVER['REMOTE_ADDR'];
		$data['host'] = gethostbyaddr($data['ip']);
		$data['browser'] = $_SERVER['HTTP_USER_AGENT']; 
		$data['ref'] = $_SERVER['REQUEST_URI'];
		$data['ref2'] = $_SERVER['HTTP_REFERER'];
		$email_admin=file_get_contents("email_admin.txt");
		foreach($txt as $n=>$w)
		{
			$email_admin=str_replace("{v_".$n."}",${"v_$n"},$email_admin);
		}
		foreach($data as $n=>$w)
		{
			$email_admin=str_replace("{".$n."}",$w,$email_admin);
		}
		$header = "Content-Type: text/plain; charset=\"utf-8\"\r\n"; 
        $header .= "Content-Transfer-Encoding: 7bit\r\n"; 
        $header .= "FROM: ".$mail_data['name_absender']."<".$mail_data['email_absender'].">\r\n";
        $header .= "Reply-To: ".$mail_data['name_absender']."<".$mail_data['email_absender'].">\r\n";
        $header .= "X-Mailer: PHP/" . phpversion()."\r\n"; 
		$sent_admin=@mail($mail_data['email_admin'],
     	$mail_data['betreff_admin'],
     	$email_admin,
     	$header);
   		if($sent_admin)header("Location: ".$txt2['erfolg']);
     	else
		{
			echo $errors['nachricht_senden']."<br>";
			$show_form=true;
		}
	}
}
else
{
	$v_name="";
	$v_strasse="";
	$v_ort="";
	$v_telefon="";
	$v_email="";
	$v_nachricht="";	
}
if($show_form)
{
	foreach($txt as $n=>$w)
	{
		$content=str_replace("{".$n."}",$w,$content);
		$content=str_replace("{v_".$n."}",${"v_$n"},$content);
	}
	$content=str_replace("{submit}",$txt2['submit'],$content);
	echo $content;
}
echo '';
include("footer.php");
?>
Template

Code: Alles auswählen


	<table border="0" cellspacing="2" cellpadding="0">
		<tr>
			<td align="center">
				<table border="0" cellspacing="2" cellpadding="0">
					<tr>
					<td class="style20"  valign="top"><form action="kontakt.php" method="POST">
							<font size="2" color="#4E4E4E" face="Verdana, Arial, Helvetica, sans-serif">
							{name}:<br>
								<input type="text" name="name" value="{v_name}" size="30"><br>
									{strasse}:<br>
								<input type="text" name="strasse" value="{v_strasse}" size="30"><br>
									{ort}:<br>
								<input type="text" name="ort" value="{v_ort}" size="30"><br>
									{telefon}:<br>
								<input type="text" name="telefon" value="{v_telefon}" size="30"><br>
								{email}: <br>
								<input type="text" name="email" value="{v_email}" size="30"><br>
								{nachricht}: <br>
								<textarea rows="8" cols="47" name="nachricht">{v_nachricht}</textarea><br>
							</font><br>
							<font size="2" color="#4E4E4E" face="Verdana, Arial, Helvetica, sans-serif"><input type="submit" name="submit" value="{submit}"> <input type="reset" name="submit"> *erforderlich
						</font>
						</form></td>
				</tr>
				</table>
			</td>
		</tr>
	</table>


Config

Code: Alles auswählen

<?
$txt=array();
#Texte vor den Eingabefeldern
$txt['name']="Name*";
$txt['strasse']="Strasse";
$txt['ort']="Ort";
$txt['telefon']="Telefon*";
$txt['email']="E-Mail*";
$txt['nachricht']="Nachricht";


$txt2=array();
$txt2['submit']="Absenden";
$txt2['erfolg']="Vielen Dank für Ihre Nachricht. Wir werden uns umgehend mit Ihnen in Verbindung setzen.";//Ausgabe, falls die E-Mails erfolgreich versendet wurden.


$errors=array();
#Ausgaben, falls die jeweiligen Felder keinen Inhalte hatten, also leer waren
$errors['name']="Bitte geben Sie den Namen ein.";
$errors['telefon']="Bitte geben Sie die Telefonnummer ein.";
$errors['email']="Bitte geben Sie die E-Mail Adresse ein.";

$errors['nachricht_senden']="Nachricht konnte nicht versendet werden.";//Ausgabe, falls die E-Mails nicht versendet werden konnten.

$mail_data=array();
$mail_data['email_admin']="info@xx.de, info@xx.de";//An diese Adresse wird dem Admin seine Email geschickt
$mail_data['email_absender']="info@xx.de";//Diese Adresse wird als Absender angegeben
$mail_data['name_absender']="Support";//Dieser Name wird als Absender angegeben
$mail_data['betreff_admin']="Anfrage Kontakt Formular";//Betreff der E-Mail an den Admin
?>
Fooder

Code: Alles auswählen

<?
if (eregi("header.php",$_SERVER["PHP_SELF"])) { 
    header('Location: ./kontakt.php'); 
    die(); 
} 
?>


Hatte mir den Code auch schon mal angeguckt, ich glaube es fehlt einfach nur der Teil wo die erfolgs ausgabe stattfinden soll.. es gibt ausser in der config datei nirgendswo ein "Erfolgs" code..
Zuletzt geändert von Phonk am 08.02.2008 10:29, insgesamt 1-mal geändert.
admin
Site Admin
Beiträge: 336
Registriert: 09.03.2005 10:41
Wohnort: Arnstadt
Kontaktdaten:

Beitrag von admin »

Suche in Index nach

Code: Alles auswählen

 if($sent_admin)header("Location: ".$txt2['erfolg']); 
und ersetzte mit

Code: Alles auswählen

 if($sent_admin) echo $txt2['erfolg']; 
Dann hasst Du deine Ausgabe, normal sollt in $txt2['erfolg'] eine Webadresse stehen.
Antworten