HTML PHP Java - Kontaktseite mit Emailversand

  • Themenstarter Themenstarter ranz
  • Beginndatum Beginndatum
R

ranz

Hallo zusammen.

Vor ungefähr vier Jahren habe ich eine Kontaktseite für eine kleine Site geschrieben.
Jetzt brauche ich genau die gleiche wieder - an die php-datei komme ich ran, die "externe" Datei fehlt natürlich.
Da ich keine Ahnung habe, wie ich das damals zusammen gestöpselt hatte,
hoffe ich, mir kann jemand weiterhelfen, wie die fehlende Datei zu erstellen ist.

Was auf jeden Fall fehlt, ist meine Email-Adresse - weiter reichen meine Kenntnisse nicht.


Hier der Quelltext der Kontakt-php:

Code:
<html><head><title>Kontakt</title></head><body>
<div align="center">
<table width="950" height="580" border="0">
<tr>
<td><strong>Kontaktformular</strong>


<script type="text/javascript">
function eingaben_ueberpruefen(){
var mail = document.Formular.email.value;

if (document.Formular.vorname.value.length < 3){ alert("Sie haben noch keinen Vornamen eingegeben!") document.Formular.vorname.focus(); return false; }
else if (document.Formular.nachname.value.length < 3){ alert("Bitte geben Sie Ihren Nachnamen ein"); document.Formular.nachname.focus(); return false; }
else if (mail.length < 10 || mail.indexOf ('@',0) == -1 || mail.indexOf ('.',0) == -1){ alert("Bitte geben Sie eine gültige E-Mail-Adresse ein.")

document.Formular.email.select(); return false; }

else if (document.Formular.betreff.value.length < 10){ alert("Bitte geben Sie einen Betreff ein!") document.Formular.betreff.focus(); return false;
}
else if (document.Formular.nachricht.value.length < 20){ alert("Bitte geben Sie eine Nachricht ein!") document.Formular.nachricht.focus(); return false;
}
else return true;}</script><form name="Formular" method="post" action="/kontakt.php" onSubmit="return eingaben_ueberpruefen();">


<table cellPadding=1 cellSpacing=1 style="margin-left:40px;font-size:10px; font-family:verdana; line-height:15px;">
<br>

<tr>
<td><b>Anrede:</b></td>
<td><select name="anrede"><option value="Herr" selected>Herr</option><option value="Frau">Frau</option> </select></td></tr>

<tr><td><b>Vorname:</b></td>
<td><input type="text" name="vorname" size="35" maxlength="40" class="farbe"></td></tr>

<tr><td><b>Nachname:</b>
</td><td><input type="text" name="nachname" size="35" maxlength="40" class="farbe"></td></tr>

<tr><td><b>E-Mail:</b></td>
<td><input type="text" name="email" size="35" maxlength="40" class="farbe"></td></tr>

<tr><td><b>Betreff:</b></td>
<td><input type="text" name="betreff" size="45" maxlength="60" class="farbe"></td></tr>

<tr><td colspan=2><b>Nachricht:</b><br><textarea name="nachricht" cols="45" rows="9"></textarea></td>
</tr>

<tr><td colspan=2 align=center><input type="checkbox" name="kopie" value="ja">
<small>Ich wünsche eine Kopie meiner Anfrage an mein Postfach</small>
<br><br>
<input type="submit" name="gesendet" value="Absenden"> * <input type="reset"></td>
</tr>

</table></form></td></tr></table></div></body></html>
 
Hi,

ich gehe davon aus, dass du einen Formmailer suchst. Einen einfachen mit Erläuterungen findest du zum Beispiel bei SelfHTML.

Da es sich bei deinem Problem eher um ein PHP-Problem handelt, verschiebe ich dich dorthin.

Ciao
Quaese
 
So, hab jetzt ein bisschen etwas herausgefunden. Die fertige Seite wird (leider) über eine Benutzeroberfläche online in einen Shop eingepflegt.
Vorher durchläuft der Quelltext (im ersten Post) eine Prüfung. Den nachträglich eingefügten php-teil löscht mir das Prüfprogramm -
ich tippe, das ich die php-Seite anders hochladen muss.

Was bedeutet in der Zeile
Code:
<form name="Formular" method="post" action="&lt;?php echo $_SERVER['SCRIPT_NAME']; 
?&gt;" onsubmit="return eingaben_ueberpruefen();">
das 'SCRIPT_NAME'?

Und wie spreche ich die php-Datei an?

Hier wär mein Vorschlag für die PHP-Datei:

PHP:
<?php

if ($_POST) {
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];

$an ="info@xyz.de";

$text = "Hallo,\n Sie haben eine neue Nachricht von $vorname $nachname erhalten:\n\n
 \n $nachricht\n\n

Sie können $vorname $nachname unter $email erreichen.";
 @mail($an, $betreff, $text, "From: " . $email);

echo "<b>Ihre Nachricht wurde gesendet!</b><p>";
} else {
?>

Was mir noch fehlt, ist die Überprüfung der Checkbox:
Code:
<input type="checkbox" name="kopie" value="ja">
Ich wünsche eine Kopie meiner Anfrage an mein Postfach
Ich denke in den php-teil muss etwas wie:
Code:
if $kopie value"ja"
@mail($email, $betreff, $text...);
echo "Sie haben eine Kopie der Email erhalten."

Aber hier ist mein "Latein" am Ende, bin inzwischen total verwirrt...HILFE :eek:
 
Zuletzt bearbeitet:
aufruf der php Datei:
<form action="datei.php" method="post">

Die PHP Variable $_SERVER["SCRIPT_Name"] sorg dafür, das die selbe Datei wieder aufgerufen wird. Wenn es eine andere Datei ist, einfach den Dateinamen eintragen

Thema checkbox:
<input type="checkbox" name="kopie" value="ja">
<?php if($_POST["kopie"] == "ja"){anweisung;} ?>

Mit $_POST["kopie"] greifst du auf die Variabel aus dem Formular zu. Der rest ist eine einfache abfrage deine Anweisung ist soweit richtig. Glaube ich. *g*

Das müsste so an sich eigentlich alles sein. Musst halt nur drauf achten, das du die sachen selber anpasst...
Achso für rechtschrieb fehler über nehme ich keine Garantie. XD hab das gerade einfach runter geschrieben.
 
Danke! Muss ich gleich mal probieren. Stimmt es, das ich damit das Tor für Spambots öffne, kann ich das umgehen?
 
Um Bots (mehr oder weniger) loszuwerden kannst du einerseits verhindern, das von einer IP innterhalb eines Zeitrahmens (z. B.10 Min.) mehr als eine Nachricht geschickt wird (bremst sie aus und verhindert z. B. das unnötige Verheizen von Traffik und das unter Kontrolle halten von eventuellen Spam), und/oder Captchas einbauen -> Google.
 
Zurück