We help IT Professionals succeed at work.

Reservation availability Script Using PHP and Dreamweaver CS3

kevinb4940
kevinb4940 asked
on
Hello

I am looking to design or obtain a php script that would let users check my availabilty on a given day.

See URL : http://www.momentsvideos.com/ and look at the check dates form on the left column,
This is exactly what i'm looking for.

I can use dreamweaver cs3 to design dynamic sites but i am unsure how to design this type of form.
I have been looking at ready made scripts but they are too detailed and complicated.

Thanks
Comment
Watch Question

Commented:
This would be a basic email form. After testing it, the result of submitting the form was either a) error or b) thx for your enquiry. So, all you need is a simple email script to mail you the form values in a logical message. Is this right or am I missing something?

Author

Commented:
You are on right thanks. Would it be possible to get the php code that actually makes this form work please
Commented:
Unfortunately email forms require some protection against exploitation and this makes the script a little complex. Here's something to get you started. It provides protection against spam exploitation to other users, but you may still receive some spam from it. Read the php/html comments for usage instructions.
<?php
session_start();
 
/*
	CHANGE THIS EMAIL ADDRESSES
	the email address emails are from
	suggest: noReply@yourDomain.com
*/
$EMAIL_FROM = 'noReply@yourDomain.com';
 
/*
	CHANGE THIS EMAIL ADDRESSES
	the email address emails are sent to
	suggest: noReply@yourDomain.com
*/
//$EMAIL_TO = 'myUserName@myDomain.com';
$EMAIL_TO = 'i-leave-my-real-address-in-posts@somewhere.com';
 
//PAGE VARS
$errors = '';
$_SESSION['formID'] = (!empty($_SESSION['formID'])) ? $_SESSION['formID'] : md5(date('Y/m/d h:i:s').'r4nd0m');
$formID = $_SESSION['formID'];
$mail_ok = false;
 
//FORM PROCESSING
if(isset($_POST['submit'])) {
 
$name = (!empty($_POST['name']))? $_POST['name'] : NULL;
$user = (!empty($_POST['user']))? $_POST['user'] : NULL;
$domain = (!empty($_POST['domain']))? $_POST['domain'] : NULL;
$date = (!empty($_POST['date']))? $_POST['date'] : NULL;
$location = (!empty($_POST['location']))? $_POST['location'] : NULL;
$phone = (!empty($_POST['phone']))? $_POST['phone'] : 'Not Supplied';
$source = (!empty($_POST['source']))? $_POST['source'] : 'Not Supplied';
 
//check for null required fields;	
if($name == NULL || $user == NULL || $domain == NULL || $date == NULL || $location == NULL) {
	$errors .= 'All fields are required. Please fill in the empty field/s.';
}
 
//check formID
if($formID != $_POST['formID']) {
	$errors .= 'Form validation error. Please use this webpage only, not an external wepage.<br />';
}
 
//proceed if error free	
	if($errors == '') {
		$subject = 'Availability Enquiry';
		$headers = "From: $EMAIL_FROM\n";
		$message = 	"AVAILABILITY ENQUIRY"."\n\n".
					"Enquirer: ".$name."\n".
					"Phone: ".$phone."\n".
					"Email: ".$user.'@'.$domain."\n\n".
					"Job Location: ".$location."\n".
					"Job Date: ".$date."\n\n".
					"Form Submitted on ".date('d-m-Y h:i:s');
		$mail_ok = mail($EMAIL_TO, $subject, $message, $headers) ? true : false;
		if(!$mail_ok) {
			$errors .= 'The server encountered a problem sending your message. Please try again later or check your form values.<br />';
		} else {
			//generate new form ID
			$_SESSION['formID'] = md5(date('Y/m/d h:i:s').'r4nd0m');
			$formID = $_SESSION['formID'];
		}
			
	}
}
 
?>
<!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>Check Availability</title>
<script language="javascript" type="text/javascript">
function validate() {
 
	var retval = '';
	var arr_required = new Array();
	arr_required[0] = "user";
	arr_required[1] = "domain";
	arr_required[2] = "name";
	arr_required[3] = "location";
	arr_required[4] = "date";
	
	for( i=0;i<arr_required.length;i++) {
		
		if(document.getElementById(arr_required[i]).value == "") retval += arr_required[i] + " is required\n";
	
	}
	
	if(retval == '') {
		
		return true;
		
	} else {
		
		alert(retval);
		return false;
		
	}
}
</script>
</head>
<body>
<div id="frmChkAvail">
    <p><strong>Check your date?</strong> (* indicates required fields)</p>
<?php if($errors != '') echo "<p class=\"errors\">$errors</p>"; ?>
  <form action="?submit" method="post" name="enqform" id="enqform" onsubmit="return validate()">
        <span class="small">*Email Address: ('user' @ 'domain')</span><br />
        <input size="20" value="" name="user" id="user" /> @ <input type="text" name="domain" id="domain" /><br />
        <span class="small">*Your Name:</span><br />
    <input size="20" value="" name="name"  id="name"><br />
        <span class="small">Phone:</span><br />
    <input size="20" value="" name="phone" id="phone"><br />
        <span class="small">*When? (e.g. 1 April 2008)</span><br />
    <input size="20" value="" name="date" id="date"><br />
        <span class="small">*Location/s</span><br />
    <input value="" name="location" size="20" id="location"><br />
        <span class="small">How did you hear about us?</span><br />
    <select name="source">
                    <option>Please select one</option>
                    <option>Friend</option>
                    <option>Relative</option>
                    <option>Photographer</option>
                    <option>Videographer</option>
                    <option>Hotel</option>
                    <option>Band</option>
                    <option>Phone Directory</option>           
                    <option>Google</option>
                    <option>Other</option>
    </select>
        <br /><br />
        <input id="submit" name="submit" value="Check Availability" type="submit">
        <input name="formID" type="hidden" id="formID" value="<?php echo $formID ?>" />
        <br />
  </form>
    </div>
 
<?php
//snippet that displays email successful message
if($mail_ok) {
//start success message
?>
<!-- success message (html below will output on success) -->
 
<h3>Thanks for your enquiry</h3>
<p>Availability will be confirmed and you'll receive a response shortly.</p>
 
<!-- end success message -->
<?php
}
//snippet that displays email successful message
?> 
<p>Form ID: <?php echo $formID ?></p>
<p>Confirm: <?php echo $_SESSION['formID'] ?></p>
</body>
</html>

Open in new window

Author

Commented:
Thanks a lot. Ireally appreciate your time and help I will delete line 17 as requested

Explore More ContentExplore courses, solutions, and other research materials related to this topic.