contact formulier + reserveren formulier

Status
Niet open voor verdere reacties.

sasvdpasch

Gebruiker
Lid geworden
14 jan 2010
Berichten
72
Hoi! Zit met het volgende probleem, ik begrijp heel php slecht.

ik heb een reserveren formulier gemaakt met de daarbij behorende php:

(spijt me enorm dat ik het niet mooi in een formuliertje kan zetten, zodat het voor jullie duidelijker is).

HTML:
<form method="post" action="mail.php">
			<table>
				<tr>
					<td width="100%">
						Naam:
					</td>
					<td width="100%">
						<input type="text" name="naam" />
					</td>
				</tr>
				<tr>
					<td>
						Email:
					</td>
					<td>
						<input type="text" name="email" />
					</td>
				</tr>
				<tr>
					<td>
						Bericht:
					</td>
					<td>
						<textarea name="bericht" rows="8" cols="50"></textarea>
					</td>
				</tr>
				<tr>
					<th colspan="2">
						<input type="submit" value="Verzenden" name="verstuur" />
					</th>
				</tr>
			</table>
		</form>


PHP:
<?php 
$naam = htmlspecialchars($_POST["naam"]);
$email = htmlspecialchars($_POST["email"]);
$bericht = htmlspecialchars($_POST["bericht"]);
 
if (!$naam) {
echo "U heeft geen naam ingevuld!";
exit; }
 
if (!$email) {
echo "U heeft geen e-mailadres ingevuld!";
exit; }

if (!$bericht) {
echo "U heeft geen bericht ingevuld!";
exit; }
 
else {
 
$tijd = time();
$datum = strftime("%d/%m/%y %H:%M", $tijd);
$ip = getenv("REMOTE_ADDR");
$message = "
" . $naam . "
" . $email . "
" . $ip . " 
 
Stuurde op $datum het volgende bericht:
 
" . $bericht . "
";
 
$mailadres = "info@balivakantievilla.nl";  
$message = str_replace ("<br>","\n", $message);  
  mail("$mailadres", "Contactformulier Bali Vakantie Villa",  
    $message, "From: " . $email . "");  
 
echo "Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.";   
}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
}

?>
 
Laatst bewerkt:
De contactformulier werkt opzich, echter wil ik het ook zo hebben dat als mensen reageren en iets fouts invullen hier melding van komt.

het volgende probleem: heb ook een reserveren formulier gemaakt, maar die werkt niet

Voor beter overzicht hoe het eruit moet komen te zien is: www.balivakantievilla.nl

Echter staan deze php van contact en reserveren er nog niet op, puur omdat de site moet doorgaan, reacties krijgen van klanten en ik dus geen foute formulieren kan plaatsen.


Zien jullie ergens fouten?

Kunnen jullie me helpen met een 2 goede formulieren + foutmeldingen?

reserveren formulier:

HTML:
<form method="post" action="mail2.php" >
<table>
  <tr><td valign="top" width="140">
  Voornaam:*
  </td>
  <td>
  <input type="text" name="voornaam" class="veld" size="35" />
  </td>
  </tr>
  <tr>
  <td valign="top" width="140">
  Achternaam:*
  </td>
  <td>
  <input typename="text" name="achternaam" class="veld" size="35" />
  </td>
  </tr>
  <tr>
  <td valign="top">
  E-mail:*
  </td>
  <td>
  <input type="text" name="email" class="veld" size="35" />
  </td>
  </tr>
  <tr>
  <td valign="top">
  Telefoonnummer:*
  </td>
  <td>
  <input type="text" name="telefoonnummer" class="veld" size="35" />
  </td>
  </tr>
  <tr>
  <td valign="top">
  Adres:
  </td>
  <td><input type="text" name="adres" class="veld" size="35" />
  </td>
  </tr>
  <tr>
  <td valign="top">
  Woonplaats:
  </td>
  <td>
  <input type="text" name="woonplaats" class="veld" size="35" />
  </td>
  </tr> 
  <tr>
  <td valign="top">
  Aankomstdatum:
  </td>
  <td>
  <select name="adag" id="adag">
        <option value="Dag">Dag</option>
        <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>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
    </select>
<select name="amaand" id="amaand">
        <option value="Maand">Maand</option>
        <option value="Januari">Januari</option>
        <option value="Februari">Februari</option>
        <option value="Maart">Maart</option>
        <option value="April">April</option>
        <option value="Mei">Mei</option>
        <option value="Juni">Juni</option>
        <option value="Juli">Juli</option>
        <option value="Augustus">Augustus</option>
        <option value="September">September</option>
        <option value="Oktober">Oktober</option>
        <option value="November">November</option>
        <option value="December">December</option>
    </select>
<select name="ajaar" id="ajaar">
        <option value="Jaar">Jaar</option>
        <option value="2009">2009</option>
        <option value="2010">2010</option>
        <option value="2011">2011</option>
        <option value="2012">2012</option>
    </select>
  </td>
  </tr>
  <tr>
  <td valign="top">
  Vertrekdatum:
  </td>
  <td>
  <select name="vdag" id="vdag">
        <option value="Dag">Dag</option>
        <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>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
    </select>
<select name="vmaand" id="vmaand">
        <option value="Maand">Maand</option>
        <option value="Januari">Januari</option>
        <option value="Februari">Februari</option>
        <option value="Maart">Maart</option>
        <option value="April">April</option>
        <option value="Mei">Mei</option>
        <option value="Juni">Juni</option>
        <option value="Juli">Juli</option>
        <option value="Augustus">Augustus</option>
        <option value="September">September</option>
        <option value="Oktober">Oktober</option>
        <option value="November">November</option>
        <option value="December">December</option>
    </select>
<select name="vjaar" id="vjaar">
        <option value="Jaar">Jaar</option>
        <option value="2009">2009</option>
        <option value="2010">2010</option>
        <option value="2011">2011</option>
        <option value="2012">2012</option>
    </select>
  </td>
  </tr>
  <tr><td valign="top">
  Aantal personen:
  </td>
  <td>
  <select name="aantal" id="aantal">
        <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>
    </select>
Guesthouse (max 2 pers.): 
<select name="guesthouse" id="guesthouse">
        <option value="nee">nee</option>
        <option value="ja">ja</option>
    </select>
    </td>
    </tr>
  <tr>
  <td valign="top">
  Bericht:</td>
  <td>
  <textarea name="bericht" rows="8" cols="50" id="bericht" class="area"></textarea>
  </td>
  </tr>
  <tr><td valign="top">
  </td>
  <td>
  <input type="submit" value="Verzenden" name="verstuur" />
  </td>
  </tr>
</table>
</form>



PHP hiervan:
PHP:
<?php 
$voornaam = htmlspecialchars($_POST["voornaam"]);
$achternaam = htmlspecialchars($_POST["achternaam"]);
$email = htmlspecialchars($_POST["email"]);
$telefoonnummer = htmlspecialchars($_POST["telefoonnummer"]);
$adres = htmlspecialchars($_POST["adres"]);
$woonplaats = htmlspecialchars($_POST["woonplaats"]);
$aankomstdatum = htmlspecialchars($_POST["aankomstdatum"]);
$vertrekdatum = htmlspecialchars($_POST["vertrekdatum"]);
$aantalpersonen = htmlspecialchars($_POST["aantal personen"]);
$guesthouse = htmlspecialchars($_POST["guesthouse"]);
$bericht = htmlspecialchars($_POST["bericht"]);
 
if (!$voornaam) {
echo "U heeft geen voornaam ingevuld!";
exit; }
 
if (!$achternaam) {
echo "U heeft geen achternaam ingevuld!";
exit; }
 
if (!$email) {
echo "U heeft geen e-mailadres ingevuld!";
exit; }

if (!$telefoonnummer) {
echo "U heeft geen telefoonnummer ingevuld!";
exit; }

if (!$adres) {
echo "U heeft geen adres ingevuld!";
exit; }

if (!$woonplaats) {
echo "U heeft geen woonplaats ingevuld!";
exit; }

if (!$aankomstdatum) {
echo "U heeft geen aankomstdatum ingevuld!";
exit; }

if (!$vertrekdatum) {
echo "U heeft geen vertrekdatum ingevuld!";
exit; }

if (!$aantalpersonen) {
echo "U heeft geen aantal personen ingevuld!";
exit; }

if (!$bericht) {
echo "U heeft geen bericht ingevuld!";
exit; }
 
else {
 
$tijd = time();
$datum = strftime("%d/%m/%y %H:%M", $tijd);
$ip = getenv("REMOTE_ADDR");
$message = "
" . $voornaam . "
" . $achternaam . "
" . $email . "
" . $telefoonnummer . "
" . $adres . "
" . $woonplaats . "
" . $ip . " 
 
Stuurde op $datum het volgende bericht:
" . $aankomstdatum . "
" . $vertrekdatum . "
" . $aantalpersonen . "
" . $guesthouse . "
" . $bericht . "
 
$mailadres = "info@balivakantievilla.nl";  
$message = str_replace ("<br>","\n", $message);  
  mail("$mailadres", "Reserverenformulier Bali Vakantie Villa",  
    $message, "From: " . $email . "");  
 
echo "Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.";   
}  
?>
 
Laatst bewerkt:
Zet even [ php] tags om je code heen, dat maakt het een stuk leesbaarder :)
 
Zet even [ php] tags om je code heen, dat maakt het een stuk leesbaarder :)

Gedaan! Thanks voor adviesje

nu nog iemand zoeken die me kan helpen met de oplossing.... PHP is wel erg moeilijk :(

Of iemand die me de goede bewerkingen kan geven voor een contactformulier + reserveren formulier
 
Is het probleem dat je wil dat je foutmeldingen in de pagina komen en niet op een lege pagina?

Want in dat geval moet je de behandeling van het formulier op dezelfde pagina zetten als het formulier zelf. Op die manier kun je controleren of alles goed is, en zo niet de fouten gebruiken terwijl je het formulier opnieuw toont om er fouten bij te zetten.

Hier een voorbeeldje van wat ik bedoel:

Code:
<?php
// als de gebruiker het formulier ingestuurd heeft
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
  // controleer of hij een naam heeft ingevuld
  $naam = $_POST['naam'];
  if ( !$naam ) {
    $iets_fout = true;
    $naam_fout = true;
  }
  else {
    // naam is goed
  }

  // zelfde verhaal bij leeftijd.
  $leeftijd = $_POST['leeftijd'];
  if ( !$leeftijd ) {
    $iets_fout = true;
    $leeftijd_fout = true;
  }
  else {
    // leeftijd is goed
  }

  // als alles goed ging, verstuur formulier
  if ( !$iets_fout ) {
    // hier verstuur je het formulier
  }
}
// hieronder zet je het formulier. omdat je hierboven al gekeken hebt of er fouten in het  formulier stonden, kun je die fouten tonen als ze gemaakt zijn.
// het formulier verwijst naar dezelfde pagina; dus als het ingestuurd wordt begint de code weer bovenaan
?>
<form action="" method="POST">
Naam: <input type="text" name="naam" /><br />
Leeftijd: <input type="text" name="leeftijd" /><br />
<input type="submit" value="Insturen" />
</form>
<?php if ( $naam_fout ): ?>
Je hebt geen naam opgegeven!<br />
<?php endif; ?>
<?php if ( $leeftijd_fout ): ?>
Je hebt geen leeftijd opgegeven!<br />
<?php endif; ?>

Dit is een heel basic voorbeeld; en eigenlijk niet zo netjes maar het idee zou wel duidelijk moeten worden hopelijk :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan