Seite 1 von 1

Formular per Mail versenden

Verfasst: 05.08.2008 01:41
von porfavor
Hallo,

ich habe ein paar Probleme mit einem normalen Kontaktformular.

Wenn ich das Formular absende wird es zwar verschickt, also ich bekomme eine Mail, diese ist jedoch ohne Inhalt, obwohl im Feld Nachricht etwas stand.
Zur erklärung html und php:

Code: Alles auswählen

<?php
$name = $_POST['name'];
$message = $_POST['message'];
$email = $_POST['email'];

$empfaenger = "admin@xxxblabla.de";
$absender = $name;
$betreff = "Kontaktformular Hug";
$text = $message;
mail($empfaenger, $betreff, $text,"from:$absender");
echo "Email versendet!";
?>

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<html>
<head>
<title>Hug The World - Kontakt</title>
<link rel="stylesheet" type="text/css" href="hug.css">
<script type="text/javascript">
function chkmessage () 
{
if (document.Contact.email.value == "") {
    alert("Bitte gib eine Email-Adresse ein!");
    document.Contact.email.focus();
    return false;
  }
  if (document.Contact.email.value.indexOf("@") == -1) {
    alert("Keine gültige Email-Adresse!");
    document.Contact.email.focus();
    return false;
  }
  if (document.Contact.message.value == "") {
    alert("Bitte gib eine Nachricht ein!");
    document.Contact.message.focus();
    return false;
  }
    if (document.Contact.name.value == "") {
    alert("Bitte gib einen Namen ein!");
    document.Contact.name.focus();
    return false;
  }

  
  
 }
  </script>
</head>
<body background="images/bg.jpg">
<br><br>
<table align="center" width="600" height="300" border="5" style="background-image:url(images/tbg.jpg); border-style:double;">
<tr align="center">
<td>
<h1>Kontakt</h1>
<h2>Willst du uns etwas mitteilen? - Mach es hier!</h2><br>
<form name="Contact" action="contact_ok.php" onSubmit="return chkmessage()">
 <p><b>Name:&nbsp;</b><input type="text" value="" name="name" size="40" maxlength="25"></p>
 <p><b>Nachricht:</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea value="message" name="message" cols="35" rows="5" maxlength="150"></textarea></p>
 <p><b>E-Mail:&nbsp;</b><input type="text" value="" name="email" size="40" maxlength="25"></p>
 <p><input type="submit" value="Submit" name="submit"></p>
 </form>
</td>
</tr>
</table>
</body>
</html>

Verfasst: 05.08.2008 03:23
von Sanchez17
Hola,

füge mal ein method=post in dein Formular ein...

Also statt:

Code: Alles auswählen

<form name="Contact" action="contact_ok.php" onSubmit="return chkmessage()"> 
das hier:

Code: Alles auswählen

<form name="Contact" action="contact_ok.php" method="post" onSubmit="return chkmessage()"> 
Sonst hängt er die Daten (zumindenst bei mir) an die URL an (GET Methode). Du willst sie ja aber per POST.

'ta luego

Verfasst: 05.08.2008 10:49
von larsneo
dir ist aber schon klar, dass das die contact_ok.php eine einladung zum spammen ist, oder?

Verfasst: 05.08.2008 11:38
von Mahony
Hallo
Schau dir mal das Mail-Formular von heise.de an Mail-Formulare auf Webseiten absichern


Das kannst du dir dann entsprechend anpassen.




Grüße: Mahony

Re: Formular per Mail versenden

Verfasst: 07.08.2008 09:21
von Xwitz
Am Rande:
porfavor hat geschrieben:

Code: Alles auswählen

<?php
$name = $_POST['name'];
$message = $_POST['message'];
$email = $_POST['email'];
?>
Den Murks kann man sich sparen.
porfavor hat geschrieben:

Code: Alles auswählen

<?php
$text = $message;
?>
Den erst recht.

Das sollte dich aber keinesfalls von larsneos Beitrag ablenken.