Seite 1 von 1

Richtig einbinden

Verfasst: 19.02.2008 21:54
von Anarias
Hi, hab das Script gecustomized, aber es funktioniert leider nicht.
Problem: Wenn ich nichts eingebe macht er nichts. Wenn ich alles korrekt ausfülle macht er genauso wenig was. Ich habe mal das Ursprungsbeispiel hochgeladen und da funktioniert alles.
Jemand nen tipp?

Wieso steht im Ursprungsbeispiel in der template.html immer value="v_vorname" etc. drin und nicht value=""?

config.php
<?
// -----------------------------------------
// Das Copyright (Link) darf nicht entfernt werden.
// Eine Copyright freie Version können Sie für einmalig
// 20 ,- € inkl. 19% MwSt. erwerben, hierzu möchten wir
// Sie bitten mit uns über das Kontaktformular
// ( http://www.kontaktformular-script.de/kontakt.php )
// in Verbindung zu treten.
// -----------------------------------------
$txt=array();
#Texte vor den Eingabefeldern
$txt['anrede']="Anrede";
$txt['vorname']="Vorname";
$txt['nachname']="Nachname";
$txt['firma']="Firma";
$txt['telefon']="Telefon";
$txt['email']="E-Mail";
$txt['nachricht']="Nachricht";

$txt2=array();
$txt2['absenden']="Kontaktieren!";
$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['vorname']="Bitte geben Sie den Vornamen ein.";
$errors['nachname']="Bitte geben Sie den Nachnamen ein.";
$errors['email']="Bitte geben Sie die E-Mail ein.";
$errors['nachricht']="Bitte geben Sie eine Nachricht 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']="anarias@web.de";//An diese Adresse wird dem Admin seine Email geschickt
$mail_data['email_absender']="anarias@web.de";//Diese Adresse wird als Absender angegeben
$mail_data['name_absender']="Support anarias.de";//Dieser Name wird als Absender angegeben
$mail_data['betreff_admin']="Kontaktaufnahme auf der Seite www.anarias.de";//Betreff der E-Mail an den Admin
$mail_data['betreff_kunde']="Ihre Anfrage auf www.anarias.de";//Betreff der E-Mail an den Kunden
$mail_data['weiterleitung']="http://anarias.de";//Auf diese Adresse wird nach erfolgreichem Versand weitergeleitet
?>
kontakt.php
<?
// -----------------------------------------
// Das Copyright (Link) darf nicht entfernt werden.
// Eine Copyright freie Version können Sie für einmalig
// 20 ,- € inkl. 19% MwSt. erwerben, hierzu möchten wir
// Sie bitten mit uns über das Kontaktformular
// ( http://www.kontaktformular-script.de/kontakt.php )
// in Verbindung zu treten.
// -----------------------------------------
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("kontakt.html");
$show_form=true;
if(isset($_POST['submit']))
{
$v_anrede=htmlentities($_POST['anrede']);
$v_vorname=htmlentities($_POST['vorname']);
$v_nachname=htmlentities($_POST['nachname']);
$v_firma=htmlentities($_POST['firma']);
$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_vorname))echo $errors['vorname']."<br>";
elseif(empty($v_nachname))echo $errors['nachname']."<br>";
elseif(empty($v_email)||!check_email($v_email))echo $errors['email']."<br>";
elseif(empty($v_nachricht))echo $errors['nachricht']."<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");
$email_kunde=file_get_contents("email_kunde.txt");
foreach($txt as $n=>$w)
{
$email_admin=str_replace("{v_".$n."}",${"v_$n"},$email_admin);
$email_kunde=str_replace("{v_".$n."}",${"v_$n"},$email_kunde);
}
foreach($data as $n=>$w)
{
$email_admin=str_replace("{".$n."}",$w,$email_admin);
$email_kunde=str_replace("{".$n."}",$w,$email_kunde);
}
$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);

$sent_kunde=@mail($v_email,
$mail_data['betreff_kunde'],
$email_kunde,
$header);

if($sent_admin&&$sent_kunde)header("Location: ".$mail_data['weiterleitung']);
else
{
echo $errors['nachricht_senden']."<br>";
$show_form=true;
}
}
}
else
{
$v_vorname="";
$v_nachname="";
$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;
}
include("footer.php");
?>
und zu guter letzt das Kontaktformular an sich
<h3>Kontaktformular</h3>
<form action="kontakt.php" method="POST">
<table width="485" border="0" cellspacing="0" cellpadding="2">
<tr bgcolor="#efefef">
<td width="125">Anrede:</td>
<td width="360"><select name="anrede">
<option value="Herr" >Herr</option>
<option value="Frau" >Frau</option>
</select></td>
</tr>
<tr>
<td>Vorname:</td>
<td><input name="vorname" type="text" style="width:180" value="" size="18">
* </td>
</tr>
<tr bgcolor="#efefef">
<td>Nachname</td>
<td bgcolor="#efefef"><input name="nachname" type="text" style="width:180" value="" size="18">
* </td>
</tr>
<tr>
<td>Firma:</td>
<td><input name="firma" type="text" style="width:180" value="" size="18"></td>
</tr>
<tr bgcolor="#efefef">
<td>Telefon:</td>
<td><input name="telefon" type="text" style="width:180" value="" size="18"></td>
</tr>
<tr>
<td>E-Mail:</td>
<td><input name="email" type="text" style="width:180" value="" size="18">
* </td>
</tr>
<tr>
<td valign="top">Mitteilung: * </td>
<td><textarea name="nachricht" cols="25" rows="8" style="width:99%"></textarea></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input name="absenden" type="submit" value="submit"></td>
</tr>
</table>
</form>

Verfasst: 21.02.2008 00:28
von Anarias
Hey,

Problem gelöst.

Verfasst: 22.02.2008 01:17
von Anarias
okay, habe doch noch ein Problem.

Versand und Empfang klappt alles problemlos. Eigentlich sollte doch nun auf www.anarias.de weitergeleitet werden. Siehe config.php

Tut er allerdings nicht. Er bleibt bei kontakt.php stehen, obwohl alles einwandfrei funktioniert hat.

Code siehe oben.

Jemand eine Idee?

Verfasst: 26.02.2008 08:36
von admin
Anarias hat geschrieben:okay, habe doch noch ein Problem.

Versand und Empfang klappt alles problemlos. Eigentlich sollte doch nun auf www.anarias.de weitergeleitet werden. Siehe config.php

Tut er allerdings nicht. Er bleibt bei kontakt.php stehen, obwohl alles einwandfrei funktioniert hat.

Code siehe oben.

Jemand eine Idee?
Morgen,

bitte baue mal in die kontakt.php an stelle von

error_reporting(0);

das ein

error_reporting(E_ALL);

Das bezweckt das der Server von Ihnen alle Fehler anzeigt, mir kommt es vor das der Header schon ehr gesendet wird als die Umleitung auf die neue Seite kommt, daher wird die Umleitung nicht gemacht.

Wenn Sie die Änderung gemacht haben, schreiben Sie bitte hier den Link zu der Datei und ich schau es mir an.

mfg. Nico Schubert

Verfasst: 27.02.2008 14:47
von Anarias
Die Vermutung stimmt. Ich bekomme folgende Fehlermeldungen


Warning: Cannot modify header information - headers already sent by (output started at /mnt/web7/40/02/51731402/htdocs/header2.php:18) in /mnt/web7/40/02/51731402/htdocs/kontakt.php on line 72

Warning: Cannot modify header information - headers already sent by (output started at /mnt/web7/40/02/51731402/htdocs/header2.php:18) in /mnt/web7/40/02/51731402/htdocs/kontakt.php on line 97

Zeile 72:

if($sent_admin&&$sent_kunde)header("Location: ".$mail_data['weiterleitung']);
else
{
echo $errors['nachricht_senden']."<br>";
$show_form=true;
}

Die Zeile 97 habe ich verändert. Habe versucht eine Weiterleitung zu erzwingen:

header("Location: http://www.anarias.de");
include("footer.php");

Verfasst: 27.02.2008 14:52
von admin
Anarias hat geschrieben:Die Vermutung stimmt. Ich bekomme folgende Fehlermeldungen


Warning: Cannot modify header information - headers already sent by (output started at /mnt/web7/40/02/51731402/htdocs/header2.php:18) in /mnt/web7/40/02/51731402/htdocs/kontakt.php on line 72

Warning: Cannot modify header information - headers already sent by (output started at /mnt/web7/40/02/51731402/htdocs/header2.php:18) in /mnt/web7/40/02/51731402/htdocs/kontakt.php on line 97

Zeile 72:

if($sent_admin&&$sent_kunde)header("Location: ".$mail_data['weiterleitung']);
else
{
echo $errors['nachricht_senden']."<br>";
$show_form=true;
}

Die Zeile 97 habe ich verändert. Habe versucht eine Weiterleitung zu erzwingen:

header("Location: http://www.anarias.de");
include("footer.php");
Hallo,

was haben Sie in der header2.php in Zeile 18 stehen?

mfg. Nico Schubert

Verfasst: 28.02.2008 03:53
von Anarias
Da steht nur das schließende html Tag

Verfasst: 28.02.2008 08:24
von admin
Anarias hat geschrieben:Da steht nur das schließende html Tag
Bin mir fasst sicher das hinter dem HTML Tag ein Lehrzeichen ist oder noch lehre Zeilen in der Datei kommen, dies muss weg. Dann wird es auch gehen.

mfg. Nico

Verfasst: 28.02.2008 11:36
von Anarias
Mmh, nee das wars nicht.
Habe die Ursprungsheader Datei aus dem Zip-File verwendet.
Das Einzige das sich geändert hat ist, dass die Fehlermeldung verschwunden ist, aber die Weiterleitung macht er trotzdem nicht.

Verfasst: 28.02.2008 12:16
von admin
Anarias hat geschrieben:Mmh, nee das wars nicht.
Habe die Ursprungsheader Datei aus dem Zip-File verwendet.
Das Einzige das sich geändert hat ist, dass die Fehlermeldung verschwunden ist, aber die Weiterleitung macht er trotzdem nicht.
Wo kann man das Script abrufen?

mfg. Nico

Verfasst: 28.02.2008 13:33
von Anarias
habe das Formular solange es nicht einwandfrei funktioniert nicht dauerhaft online stehen. Script entspricht angaben oben. Wenn notwendig kann ich es auch nachher schnell einbinden und heute die Zeit über online stehen lassen

Verfasst: 28.02.2008 13:56
von admin
Anarias hat geschrieben:habe das Formular solange es nicht einwandfrei funktioniert nicht dauerhaft online stehen. Script entspricht angaben oben. Wenn notwendig kann ich es auch nachher schnell einbinden und heute die Zeit über online stehen lassen
Wenn ich es nicht Testen kann, kann ich Ihnen nicht weiterhelfen.

mfg. Nico

Verfasst: 28.02.2008 15:46
von Anarias
okay,

ist eingebunden

http://www.anarias.de/contact.php

Verfasst: 28.02.2008 16:34
von admin
Mmh, was sehr eigenartig ist das keine Fehlermeldung kommt. Leider können wir da kein Support geben. Bitte wenden Sie sich an Ihren Webhoster und erfragen Sie, wieso die weiterleitung per header(); nicht geht.

mfg. Nico Schubert