formulieren en PHP

Status
Niet open voor verdere reacties.

fullcircle

Nieuwe gebruiker
Lid geworden
17 sep 2009
Berichten
4
Hallo allemaal,

Ik heb al 2 vragen gepost maar kom er nog steeds niet uit...

Ik doe even een stap terug en wil eigenlijk alleen weten hoe ik een HTML formulier uit Dreamweaver aan de praat krijg met PHP zodat de ingevulde velden door de gebruiker verstuurd worden naar het mailadres van de website(of voor lokale test naar mijn eigen e-mailadres)

Ik heb al geprobeerd een bestaand PHP script te gebruiken maar als ik de HTML pagina test verschijnt alleen een blanco scherm na het invullen van de gegevens.

Ter referentie bijgevoegd het HTML & PHP bestand.

Als iemand een eenvoudige manier weet hoor ik het graag.

Kan ik bv de gehele <form> tag in PHP zetten binnen het HTML bestand om de gegevens te verzenden?

Alvast bedankt voor jullie hulp.

Rene


HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<link href="merosite.css" rel="stylesheet" type="text/css" />
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
<script type="text/javascript">
</script>
</head>

<body>
<div id="wrapper">
  <div id="header">
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="724" height="50" id="FlashID" title="banner">
    <param name="movie" value="banner.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="swfversion" value="6.0.65.0" />
    <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
    <param name="expressinstall" value="Scripts/expressInstall.swf" />
    <param name="LOOP" value="false" />
    <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="banner.swf" width="724" height="50">
      <!--<![endif]-->
      <param name="quality" value="high" />
      <param name="wmode" value="opaque" />
      <param name="swfversion" value="6.0.65.0" />
      <param name="expressinstall" value="Scripts/expressInstall.swf" />
      <param name="LOOP" value="false" />
      <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
      <div>
        <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
        <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
      </div>
      <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
  </object>
</div>
<div id="image"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="340" height="478" id="FlashID2" title="vissen">
  <param name="movie" value="vissen.swf" />
  <param name="quality" value="high" />
  <param name="wmode" value="opaque" />
  <param name="swfversion" value="6.0.65.0" />
  <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
  <param name="expressinstall" value="Scripts/expressInstall.swf" />
  <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="vissen.swf" width="340" height="478">
    <!--<![endif]-->
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="swfversion" value="6.0.65.0" />
    <param name="expressinstall" value="Scripts/expressInstall.swf" />
    <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
    <div>
      <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
      <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
    </div>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object> </div>
<div id="navbar">
  <p><a href="home.html" target="_top">home</a></p>
  <p><a href="menu.html" target="_top">menu</a></p>
  <p><a href="wijnkaart.html" target="_top">wijnkaart</a></p>
  <p><a href="reserveren.html" target="_top">reserveren</a></p>
  <p><a href="contact.html" target="_top">contact</a></p>
  <p><a href="route.html" target="_top">route</a></p>
  <p><a href="foto's.html" target="_top">foto's</a></p>
  <p><a href="links.html" target="_top">links</a></p>
  </div>

<div id="maincontent">
    <h1>reserveren ></h1>
    
<form action="reserveren.php" method="post" name="reserveren" target="_top">

    <input name="datum" type="text" id="textfield" value="Datum" /><br/>
    <input name="tijd" type="text" id="textfield" value="Tijd" /><br/>
    <input name="pax" type="text" id="textfield" value="Aantal personen" /><br/>
    <input name="naam" type="text" id="textfield" value="Naam" /><br/>
    <input name="tel" type="text" id="textfield" value="Telefoonnummer" /><br/>
    <input name="email" type="text" id="textfield" value="E-mailadres" /><br/>
    <textarea name="message" dir="ltr">Bijzonderheden</textarea><br/><br/>
    
    <input name="Verzend" type="submit" value="Verzenden" />
    
    </form>
   
</div>

<div id="footer">Vissershavenweg 61e | 2583 DL | Scheveningen | T 070 - 3523600 | E<a href="contact.html" target="_top"> info@merovis.nl</a></div>

</div>

<script type="text/javascript">
<!--
swfobject.registerObject("FlashID");
swfobject.registerObject("FlashID2");
//-->
</script>
</body>
</html>

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>reserveren.php</title>
</head>

<body><?php


    $extra_info = false; // wil je dat er ook extra informatie over de verzender wordt meegestuurd (ip-adres etc.) ? (ja = true en nee = false)
    $admin_mail = 'info@merovis.nl'; // je eigen e-mailadres
    $myKey = 'geheim'; // De geheime code die je in het flashbestand hebt ingesteld in de var myKey

if ( isset($_POST['myKey']) ) { // is er wel iets verzonden?
    
    function check_email($p_sEmail = NULL) // E-mailadres checken
    {
        if ( ( preg_match('~^[a-z0-9][a-z0-9_.\-]*@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$~i', $p_sEmail) ) && ( strlen($p_sEmail) < 150 ) ) {
            return $p_sEmail; // E-mail juiste patroon en niet langer dan 150 karakters
        } else {
            return false;
        }
    }

    // variabelen ophalen en aan een php-variabele toewijzen, php variabelen beginnen altijd met een $ en hier
    // komen ze uit de superglobal $_POST, dit is een soort van ingebouwde array waar al je vars uit flash in
    // worden gestoken
    $errors = array();
    $sender_datum = $_POST['datum'];
    $sender_tijd = $_POST['tijd'];
	$sender_aantal personen = $_POST['Aantal personen'];
	$sender_naam = $_POST['naam'];
	$sender_telefoonnummmer = $_POST['Telefoonnummer'];
	$sender_E-mailadres = $_POST['E-mailadres'];
	$sender_msg = utf8_decode($_POST['message']); 
	$sender_msg  = str_replace(chr(13),chr(10),$sender_msg); 
    $sender_key  = $_POST['myKey'];

    if ( ! ctype_print(sender_name) ) {
         $errors[] = 1;
    }
	if ( ! ctype_print(sender_phone) ) {
         $errors[] = 2;
    }
    if ( ! ctype_print($sender_mail) || !check_email($sender_mail) ) {
         $errors[] = 3;
    }
		if ( ! ctype_print(sender_datum) ) {
         $errors[] = 4;
    }
		if ( ! ctype_print(sender_aantal) ) {
         $errors[] = 5;
    }
	if ( ! ctype_print(sender_msg) ) {
         $errors[] = 6;
    }
    if ( $myKey !=  $sender_key ) {
         $errors[] = 7;
    }
    //de headers voor de E-mail
    $mail_header  = 'MIME-Version: 1.0' . "\r\n";
    $mail_header .= 'Reply-To: ' . $sender_name . ' <' . $sender_mail . '>' . "\r\n"; // reply-adres
    $mail_header .= 'From: ' . $sender_name . ' <' . $sender_mail . '>' . "\r\n"; // afzender van de mail
    $mail_header .= 'X-Mailer: PHP/' . phpversion() . "\r\n";

    if ( $extra_info ) { // indien de optie "extra informatie" op true staat halen we de gegevens op
        $extra_lang = ( strlen($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : 'Detectie mislukt';
        $extra_browser = ( strlen($_SERVER['HTTP_USER_AGENT']) ) ? $_SERVER['HTTP_USER_AGENT'] : 'Detectie mislukt';
        
        $mail_extra = "\n\n" . 'Extra informatie:'
        . "\n" . 'IP-adres: ' . $_SERVER['REMOTE_ADDR'] . ' (' . gethostbyaddr($_SERVER['REMOTE_ADDR']) . ')'
        . "\n" . 'Taal: ' . $extra_lang
        . "\n" . 'Browser: ' . $extra_browser;
    }

    $mail_content = 
    'Date: ' . date('d m Y H:i:s')
    . "\n" . '______________________'
    . "\n" . 'From:  ' . $sender_naam
    . "\n" . 'Telefoon:  ' . $sender_telefoonnummer
    . "\n" . 'E-mail: ' . $sender_E-mailadres
    . "\n" . 'Datum: ' . $sender_datum	
    . "\n" . 'Aantal personen: ' . $sender_aantal personen
    . "\n" . '______________________'
    . "\n" . 'Message: '
	. "\n" . $sender_msg
    . "\n" . $mail_extra;

    if ( count($errors) ) {
        die('&success=false&errorCode=' . implode(',', $errors) . '&');
    } else {
        $mail_send = mail($admin_mail, 'Message from ' . $sender_name, $mail_content, $mail_header);
        die('&success=true&');
    }
} // end if isset
?> 
</body>
</html>
 
Effe kijken hoor:

Simsalabim, hocuspocus..

Heeft dat geholpen ?, niet ?, dan zit er niks anders op dan je te verdiepen in html en php. :D

Het punt is namelijjk dat het niet zo eenvoudig is als het lijkt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan