I was wondering if somebody from here could help, after reading numerous tutorials i have got as far as i can, i’m making a form that lets a visitor to my website information which is added to a database. The thing is, i can’t get the script to stop and inform the user there is missing information, and until it’s completed the form wont submit to the database.
I’m using a mysql database and have the submission part of the code working… I’ve attached my script so you can take a look.
Thanks
<?php
if (isset($_POST['submitted'])) {
// Clean up the bike details
$manufacturer = mysql_escape_string(trim($_POST['manufacturer']));
$model = mysql_escape_string(trim($_POST['model']));
$capacity = mysql_escape_string(trim($_POST['capacity']));
$year = mysql_escape_string(trim($_POST['year']));
// Clean up the parts
$part_one = mysql_escape_string(trim($_POST['part_one']));
$part_two = mysql_escape_string(trim($_POST['part_two']));
$part_three = mysql_escape_string(trim($_POST['part_three']));
$part_four = mysql_escape_string(trim($_POST['part_four']));
$part_five = mysql_escape_string(trim($_POST['part_five']));
// Clean up the personal details, some of these don't need cleaning up, i.e the contact prefrence
$full_name = mysql_escape_string(trim($_POST['full_name']));
$telephone = mysql_escape_string(trim($_POST['telephone']));
$alt_telephone = mysql_escape_string(trim($_POST['alt_telephone']));
$email = mysql_escape_string(trim($_POST['email']));
$area = mysql_escape_string(trim($_POST['area']));
// Fields that do not need cleaning up
$status = $_POST['status'];
$sent = $_POST['sent'];
$contact_pref = $_POST['contact_pref'];
// Check for required fields
$errors = array();
if(empty($manufacturer) || $manufacturer == "") {
$errors[] = 'Please select a manafacturer';
}
if(empty($model) || $model == "") {
$errors[] = 'Please enter a model';
}
if(empty($year) || $year == "") {
$errors[] = 'Please select a year';
}
if(empty($part_one) || $part_one == "") {
$errors[] = 'Please enter at least one part';
}
if(empty($full_name) || $full_name == "") {
$errors[] = 'Please enter your name';
}
if(empty($email) || $email == "") {
$errors[] = 'Please enter your email address';
}
// Do we have any errors?
if(count($errors == 0)) {
// If we don't, run the insert query
$dbid = mysql_connect ('localhost', 'username', 'password');
mysql_select_db('database,$dbid)
or die ("Cannot find database");
$query = "INSERT INTO `request_data` (`req_id`, `manufacturer`, `model`, `capacity`, `year`, `part_one`, `part_two`, `part_three`, `part_four`, `part_five`, `full_name`, `telephone`, `alt_telephone`, `email`, `contact_pref`, `area`, `status`, `sent`) VALUES ('', '$manufacturer', '$model', '$capacity', '$year', '$part_one', '$part_two', '$part_three', '$part_four', '$part_five', '$full_name', '$telephone', '$alt_telephone', '$email', '$contact_pref', '$area', '$status', '$sent')";
$result = mysql_query($query,$dbid)
or die("INSERT error:".mysql_error());
// If all is cool, this will redirect to a thank you page.
echo 'Form submitted';
exit;
}
else {
return false;
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Request Submission Page</title>
</head>
<body>
<?php
if (isset($_POST['submitted']) && count($errors) > 0) {
echo '<strong>The following fields need to be corrected:</strong><br />';
foreach($errors as $err => $val) {
echo $val . '<br />';
}
}
?>
<form enctype="multipart/form-data" method="post" action="">
<!--Make & Model Begin-->
Manufacturer (Required):
<select name="manufacturer">
<option value="" SELECTED>
<option value="Aprilia">Aprilia
<option value="Benelli">Benelli
<option value="Beta">Beta
<option value="Bimota">Bimota
<option value="BMW">BMW
<option value="BSA">BSA
<option value="Buell">Buell
<option value="BMW">BMW
<option value="Cagiva"> Cagiva
<option value="CCM">CCM
<option value="Derbi">Derbi
<option value="Ducati">Ducati
<option value="Enfield">Enfield
<option value="Gillera">Gilera
<option value="Harley-Davidson">Harley-Davidson
<option value="Honda">Honda
<option value="Husqvarna">Husqvarna
<option value="Hyosung">Hyosung
<option value="Italijet">Italijet
<option value="Kawasaki">Kawasaki
<option value="Kymco">Kymco
<option value="Laverda">Laverda
<option value="Moto Guzzi">Moto Guzzi
<option value="MV Agusta">MV Agusta
<option value="MZ">MZ
<option value="Norton">Norton
<option value="NRG">NRG
<option value="Peugeot">Peugeot
<option value="Sachs">Sachs
<option value="Suzuki">Suzuki
<option value="Triumph">Triumph
<option value="Vespa">Vespa
<option value="Yamaha">Yamaha
</select><br>
Model (Required):<input type="text" name="model"><br>
Engine Size (cc):<input type="text" name="capacity"><br>
Year (Required):
<?php echo '<select name="year">';
echo"<option value="/"></option>";
for($x = 1950; $x <= 2007; $x++)
{
echo "<OPTION VALUE=$x>$x</OPTION>";
}
echo "</SELECT>";
?>
<!-- Make & Model End -->
<br><br>
<!-- Parts Begin-->
Part One (Required):<input type="text" name="part_one"><br>
Part Two:<input type="text" name="part_two"><br>
Part Three:<input type="text" name="part_three"><br>
Part Four:<input type="text" name="part_four"><br>
Part Five:<input type="text" name="part_five"><br>
<!--Parts End-->
<br><br>
<!--Details Begin-->
Full Name (Required):<input type="text" name="full_name"><br>
Telephone:<input type="text" name="telephone"><br>
Alternative Telephone:<input type="text" name="alt_telephone"><br>
E-mail Address:<input type="text" name="email"><br>
Contact Me By:
<input type="radio" name="contact_pref" value="Email">Email
<input type="radio" name="contact_pref" value="Telephone">Telephone<br>
Area:
<select name="area">
<option value="" SELECTED>
<option value="Northern Ireland">Northern Ireland
<option value="Southern Ireland">Southern Ireland
<option value="Midlands">Midlands
<option value="North East">North East
<option value="North West">North West
<option value="South East">South East
<option value="South West">South West
<option value="Scotland">Scotland
<option value="Wales">Wales
<option value="Outside UK">Outside UK
</select><br>
Comments:<textarea rows="5" cols="30" value="comments"></textarea>
<!-- Details End -->
<!-- Hidden Fields Begin -->
<input type="hidden" name="status" value="unchecked" />
<input type="hidden" name="sent" value="no" />
<!-- Hidden Fields End -->
<br><br>
<?php
if (isset($_POST['submitted']) && count($errors) > 0) {
echo '<strong>The following fields need to be corrected:</strong><br />';
foreach($errors as $err => $val) {
echo $val . '<br />';
}
}
?>
<br><br>
<input type="submit" name="submitted" value="Submit" ></td></tr>
</form>
</body>
</html>