Hallo :)
Möchte für meine HP auf Strato ein Kontaktformular einbinden. Meine PHP-Kenntnisse sind leider nicht allzu tief - ich habe das Skript mit einer Anleitung zusammengeschrieben. Auf meinem alten Webspace lief alles ohne Probleme, bei Strato passiert jedoch gar nichts wenn ich absenden drücke. Durch lange recherche habe ich ne ungefähre Ahnung woran es liegt: das strato keine globalen variablen erkennt. aber ich werde da leider nicht schlau drauß und schaffe es auch nicht alleine das abzuändern.
Vielleicht kann mir ja jmd von euch da weiterhelfen?
Vielen Dank :)
Felix
PHP-Code:
<?php
$EigeneEmailadresse = "muster@muster.de";
$WebsiteName = "http://www.musterseite.de";
//Meldungen:
$MeldungErfolg = "bla";
$MeldungLeerfelder ="bla";
$MeldungFalscheEmailadresse ="bla";
//Mailelemente für Nachricht an Besucher:
$MailSubjectBesucher = "Eingangsbestätigung von $WebsiteName";
$MailTextBesucher =
"Sehr geehrte(r) Frau/Herr {name}\n\n"
."Sie sendeten uns folgende Nachricht:\n"
."-----------\n"
."{nachricht}\n"
."-----------\n\n";
//Mailelemente für Nachricht an Sitebetreiber:
$MailSubjectEigenes = "Kontaktnachricht von $WebsiteName";
$MailTextEigener =
"Nachricht von Frau/Herr {name}\n"
."Email-Adresse {email}\n\n"
."Es wurde folgende Nachricht übermittelt:\n"
."-----------\n"
."{nachricht}\n"
."-----------\n\n";
function CheckEmailadresse($email) {
$muster = "^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[_a-zA-Z0-9-]+\.([a-zA-Z]{2,3})$";
if (ereg ($muster, $email)) {
return true;
} else {
return false;}}
function SendMail($to, $betreff, $nachricht) {
global $EigeneEmailadresse;
$header = "from: $EigeneEmailadresse\n";
mail ($to, $betreff, $nachricht, $header);}
//Slashes entfernen, die durch Benutzereingaben entstehen können.
//(beispielsweise Anführungszeichen):
$nachricht = stripslashes ($nachricht);
$name = stripslashes ($name);
//Wenn Formular abgesendet wurde:
if ($go == 1) {
//Wenn eines der erforderlichen Eingabefelder leer ist
//Meldung vorbereiten:
if ($name == "" || $nachricht == "" || $email == "") {
$meldung = $MeldungLeerfelder;
//Bei ungültiger Email-Adresse Meldung vorbereiten:
} elseif (CheckEmailadresse ($email) == false){
$meldung = $MeldungFalscheEmailadresse;
} else {
//Meldung vorbereiten:
$meldung = $MeldungErfolg;
//Platzhlater in Vorlagen ersetzen:
$MailTextBesucher = str_replace ("{name}", $name, $MailTextBesucher);
$MailTextBesucher = str_replace
("{nachricht}", $nachricht, $MailTextBesucher);
$MailTextEigener = str_replace ("{name}", $name, $MailTextEigener);
$MailTextEigener = str_replace ("{email}", $email, $MailTextEigener);
$MailTextEigener = str_replace
("{nachricht}", $nachricht, $MailTextEigener);
//Mails absenden:
SendMail($email, $MailSubjectBesucher, $MailTextBesucher);
SendMail($EigeneEmailadresse, $MailSubjectEigenes, $MailTextEigener);
//Variablen zurücksetzen, falls eine weitere Nachricht
//gesendet werden soll:
//$name = "";
//$email = "";
$nachricht = "";}}
?>
<html>
<head>
<title>Kontaktformular</title>
<link rel='stylesheet' href='formate.css' type='text/css'>
</head>
<body bgcolor='#003399'>
<center>
<img src="../Bilder/Logo.jpg" alt="">
<h1>Kontaktformular</h1>
<!--Weiter oben vorbereitete Meldung bei Erfolg bzw. Fehler anzeigen-->
<p><?php echo $meldung ?></p>
<p>(Alle Felder müssen ausgefüllt werden!)</p>
<!--BEGINN Formular - Formular ruft sich selbst auf ($PHP_SELF):-->
<form action=<? echo $_SERVER ["PHP_SELF"] ?> method='post'>
<!--Verstecktes Feld 'go' - zur Kennzeichnung,
ob Formular gesendet wurde-->
<input type='Hidden' name='go' value='1'>
<table border='0' align='center' width='85%' class='tabtext'
cellpadding='3' cellspacing='3' bgcolor='#CCCCCC'>
<tr bgcolor='#CCCCCC'>
<td><b>Name:</b></td>
<td>
<!--Eingabefeld für den Namen-->
<input type='Text' name='name' size='50'
value='<?php echo $name ?>'>
</td>
</tr>
<tr bgcolor="#CCCCCC">
<td><b>Email: </b></td>
<td>
<!--Eingabefeld für Email-->
<input type='Text' name='email' size="50" maxlength="s"
value='<?php echo $email ?>'>
</td>
</tr>
<tr bgcolor="#CCCCCC">
<td valign=top><b>Ihre Nachricht:</b> </td>
<td>
<!--Eingabefeld für Nachricht-->
<textarea name='nachricht' cols='80' rows='10'
class='tabtext'><?php echo stripslashes($nachricht) ?></textarea>
</td>
</tr>
<tr>
<td COLSPAN='2' ALIGN='CENTER' bgcolor="#CCCCCC">
<input type='Submit' value='Abschicken'>
</td>
</tr>
</table></form></center></body></html>