PHP document met email formulier

Status
Niet open voor verdere reacties.

hoff

Nieuwe gebruiker
Lid geworden
3 sep 2007
Berichten
3
Geacht forum,

Dit formulier werkt. d.w.z. het formulier contactus.php verschijnt op de site, is in te vullen, wordt verzonden, ik krijg de bedankt tekst en het wordt verzonden naar mijn email adres. Echter in het mailtje komen alle veldnamen te voorschijn, maar de inhoud van de velden wordt alleen vertoond van het email veld en het arrival veld. Wat is er mis???

alvast bedankt voor de moeite

-----------


PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Form</title>
<style type="text/css">
<!--
body {
	background-image: url(images/line-w.jpg);
}
-->
</style></head>

<body>
<?php 
$onderwerp = "Info formulier Langkawi - Holidayhouses";
$ontvanger = "info@langkawi-holidayhouses.info";
$reply = $_POST['email']; 

if($_POST['verzenden'])
{
  $naam = $_POST['name'];
  $email = $_POST['email'];
  $adress = $_POST['address'];
  $arrival = $_POST['arrival'];
  $departure = $_POST['departure'];
  $persons = $_POST['persons'];
  $transport = $_POST['transport'];
  $accomodation = $_POST['accomodation'];
  $comment = $_POST['comment'];
  $bericht = "Name: " . $name . "\r\nEmail: " . $email . "\r\nAddress: " . $address . "\r\nArrival: " . $arrival . "\r\ndeparture: " . $departure . "\r\nPersons: " . $persons . "\r\nTransport: " . $transport . "\r\nAccomodation: " . $accomodation . "\r\nComment: " . $comment;
  mail($ontvanger,$onderwerp,$bericht,"From: $reply");
  echo "<p> <center> Uw bericht is verzonden, wij geven zo spoedig mogelijk antwoord.<center> </p>info@langkawi-holidayhouses.info";
}
else { 
?>
<form method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
  <p>&nbsp;</p>
  <table width="721" border="1">
    <tr>
      <td width="4" rowspan="9"><img src="images/Sidelinks.jpg" width="201" height="401" border="0" usemap="#Map"></td>
      <td width="93">Name</td>
      <td width="602"><input type="text" name="name"></td>
    </tr>
    <tr>
      <td>Email:</td>
      <td><input type="text" name="email"></td>
    </tr>
    <tr>
      <td>Address</td>
      <td><input type="text" name="address"></td>
    </tr>
    <tr>
      <td>Arrival</td>
      <td><input type="text" name="arrival"></td>
    </tr>
    <tr>
      <td>Departure</td>
      <td><input type="text" name="textfield"></td>
    </tr>
    <tr>
      <td>Persons</td>
      <td><select name="select">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
      </select></td>
    </tr>
    <tr>
      <td>Transport</td>
      <td><select name="select">
        <option value="No Transport">No Transport</option>
        <option value="Car">Car</option>
        <option value="Scooter">Scooter</option>
        <option value="Motorbike">Motorbike</option>
      </select></td>
    </tr>
    <tr>
      <td>Accomodation</td>
      <td><select name="select">
        <option value="Gate House">Gate House</option>
        <option value="Forest House">Forest House</option>
        <option value="Field House">Field House</option>
        <option value="Land House">Land House </option>
        <option value="Whole property">Whole property</option>
      </select></td>
    </tr>
    <tr>
      <td>Remarks / Questions </td>
      <td><textarea name="textarea" rows="10"></textarea></td>
    </tr>
  </table>
  <p>
  <input type="submit" name="verzenden">
          </p>
</form>
<?php
}
?> 
<map name="Map">
  <area shape="rect" coords="84,97,183,121" href="location.html">
  <area shape="rect" coords="102,129,185,151" href="houses.html">
  <area shape="rect" coords="112,157,185,177" href="prices.html">
  <area shape="rect" coords="17,187,184,207" href="more_langkawi.html">
  <area shape="rect" coords="60,215,184,237" href="contactus.html">
  <area shape="rect" coords="26,241,184,266" href="dutch/mail_ons.html">
  <area shape="rect" coords="122,300,182,322" href="index.html">
</map>
</body>
</html>
 
Laatst bewerkt door een moderator:
Wat je moet doen is:
PHP:
if($_POST['verzenden'])
{
$naam = $_POST['name'];
$email = $_POST['email'];
$adress = $_POST['address'];
$arrival = $_POST['arrival'];
$departure = $_POST['departure'];
$persons = $_POST['persons'];
$transport = $_POST['transport'];
$accomodation = $_POST['accomodation'];
$comment = $_POST['comment'];
$bericht = "Name: " . $name . "\r\nEmail: " . $email . "\r\nAddress: " . $address . "\r\nArrival: " . $arrival . "\r\ndeparture: " . $departure . "\r\nPersons: " . $persons . "\r\nTransport: " . $transport . "\r\nAccomodation: " . $accomodation . "\r\nComment: " . $comment;
if(mail($ontvanger,$onderwerp,$bericht,"From: $reply")) {
echo "<p> <center> Uw bericht is verzonden, wij geven zo spoedig mogelijk antwoord.<center> </p>info@langkawi-holidayhouses.info";
} else {
echo "Oeps, er ging iets fout met het verzenden van de email!";
}
}

Verder, over de inhoud van je mail:
De helft van de velden hebben niet de name die gebruikt word bij het invullen van de variabele(bijv.
<td>Departure</td>
<td><input type="text" name="textfield"></td>

Die word opgehaald als: $departure = $_POST['departure'];

Zulk soort dingen. Gewoon even net wat meer tijd in steken en nog een keertje nalopen moet genoeg zijn om alles eruit te halen.

en een tip is misschien ook ff de
error_reporting op E_ALL te zetten zodat je kan zien wat er verder mis is.
(Moet voordat de headers uitgezonden zijn. Dus boven je doctype/html tag)

Succes
 
Bedankt voor de oplossing. ik zal mijn best doen !!

Wat je moet doen is:
PHP:
if($_POST['verzenden'])
{
$naam = $_POST['name'];
$email = $_POST['email'];
$adress = $_POST['address'];
$arrival = $_POST['arrival'];
$departure = $_POST['departure'];
$persons = $_POST['persons'];
$transport = $_POST['transport'];
$accomodation = $_POST['accomodation'];
$comment = $_POST['comment'];
$bericht = "Name: " . $name . "\r\nEmail: " . $email . "\r\nAddress: " . $address . "\r\nArrival: " . $arrival . "\r\ndeparture: " . $departure . "\r\nPersons: " . $persons . "\r\nTransport: " . $transport . "\r\nAccomodation: " . $accomodation . "\r\nComment: " . $comment;
if(mail($ontvanger,$onderwerp,$bericht,"From: $reply")) {
echo "<p> <center> Uw bericht is verzonden, wij geven zo spoedig mogelijk antwoord.<center> </p>info@langkawi-holidayhouses.info";
} else {
echo "Oeps, er ging iets fout met het verzenden van de email!";
}
}

Verder, over de inhoud van je mail:
De helft van de velden hebben niet de name die gebruikt word bij het invullen van de variabele(bijv.
<td>Departure</td>
<td><input type="text" name="textfield"></td>

Die word opgehaald als: $departure = $_POST['departure'];

Zulk soort dingen. Gewoon even net wat meer tijd in steken en nog een keertje nalopen moet genoeg zijn om alles eruit te halen.

en een tip is misschien ook ff de
error_reporting op E_ALL te zetten zodat je kan zien wat er verder mis is.
(Moet voordat de headers uitgezonden zijn. Dus boven je doctype/html tag)

Succes
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan