I'm creating a CRUD application. When I've inserted data into the fields, I'm getting the following error:
Notice: Undefined index: firstname in C:\xampp\htdocs\crud\create.php on line 14
Notice: Undefined index: lastname in C:\xampp\htdocs\crud\create.php on line 23
Notice: Undefined index: dob in C:\xampp\htdocs\crud\create.php on line 33
Notice: Undefined index: AdmissionDate in C:\xampp\htdocs\crud\create.php on line 57
Notice: Undefined index: LastSchool in C:\xampp\htdocs\crud\create.php on line 65
Here's the code: [Added [code]...[/code]
tags ~ MOD)
<?php
// Include connection file
require_once "connect.php";
// Define variables and initialize with empty values
$firstname = $lastname = $dob = $contact = $address = $AdmissionDate = $ReAdmissionDate = $LastSchool = $DateLeaved = $gender = "";
$firstname_err = $lastname_err = $dob_err = $contact_err = $address_err = $AdmissionDate_err = $ReAdmissionDate_err =
$LastSchool_err = $DateLeaved_err = $gender_err = "";
// Processing form data when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST"){
// Validate name
$input_name = trim($_POST["firstname"]);
if(empty($input_name)){
$firstname_err = "Please enter a name.";
} elseif(!filter_var($input_name, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"/^[a-zA-Z\s]+$/")))){
$firstname_err = "Please enter a valid name.";
} else{
$firstname = $input_name;
}
$input_name = trim($_POST["lastname"]);
if(empty($input_name)){
$lastname_err = "Please enter a name.";
} elseif(!filter_var($input_name, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"/^[a-zA-Z\s]+$/")))){
$lastname_err = "Please enter a valid name.";
} else{
$lastname = $input_name;
}
// validate dob
$input_dob = trim($_POST["dob"]);
if(empty($input_dob)){
$dob_err = "Please enter birth date.";
} else{
$dob = $input_dob;
}
$input_contact = trim($_POST["contact"]);
if(empty($input_contact)){
$contact_err = "Please enter contact.";
} else{
$contact = $input_contact;
}
// Validate address
$input_address = trim($_POST["address"]);
if(empty($input_address)){
$address_err = "Please enter an address.";
} else{
$address = $input_address;
}
// Validate Admission date
$input_admission = trim($_POST["AdmissionDate"]);
if(empty($input_admission)){
$AdmissionDate_err = "Please enter admission date.";
} else{
$AdmissionDate = $input_admission;
}
// Validate school
$input_school = trim($_POST["LastSchool"]);
if(empty($input_school)){
$LastSchool_err = "Please enter last school attended.";
} else{
$LastSchool = $input_school;
}
// Validate gender
$input_gender = trim($_POST["gender"]);
if(empty($input_gender)){
$gender_err = "Please enter gender.";
} else{
$gender = $input_gender;
}
// Check input errors before inserting in database
if(empty($firstname_err) && empty($lastname_err) && empty($dob_err) && empty($contact_err) && empty($address_err)
&& empty($AdmissionDate_err) && empty($LastSchool_err) && empty($gender_err)){
// Prepare an insert statement
$sql = "INSERT INTO students_records (firstname, lastname, dob, contact, address, AdmissionDate, ReAdmissionDate, LastSchool,
DateLeaved, gender) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "ssssssssss", $param_firstname, $param_lastname, $param_dob, $param_contact, $param_address, $param_AdmissionDate,
$param_ReAdmissionDate, $param_LastSchool, $param_DateLeaved, $param_gender);
// Set parameters
$param_firstname = $firstname;
$param_lastname = $lastname;
$param_dob = $dob;
$param_contact = $contact;
$param_address = $address;
$param_AdmissionDate = $AdmissionDate;
$param_ReAdmissionDate = $ReAdmissionDate;
$param_LastSchool = $LastSchool;
$param_DateLeaved = $DateLeaved;
$param_gender = $gender;
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records created successfully. Redirect to landing page
header("location: index.php");
exit();
} else{
echo "Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Close connection
mysqli_close($link);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Create Record</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
<style type="text/css">
.wrapper{
width: 500px;
margin: 0 auto;
margin-top: 0px;
}
</style>
</head>
<body>
<div class="wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="page-header">
<h2>Create Record</h2>
</div>
<p>Please fill this form and submit to add student record to the database.</p>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="form-group <?php echo (!empty($firstname_err)) ? 'has-error' : ''; ?>">
<label>First Name</label>
<input type="text" name="name" class="form-control" value="<?php echo $firstname; ?>">
<span class="help-block"><?php echo $firstname_err;?></span>
</div>
<div class="form-group <?php echo (!empty($lastname_err)) ? 'has-error' : ''; ?>">
<label>Last Name</label>
<input type="text" name="name" class="form-control" value="<?php echo $lastname; ?>">
<span class="help-block"><?php echo $lastname_err;?></span>
</div>
<div class="form-group <?php echo (!empty($dob_err)) ? 'has-error' : ''; ?>">
<label>Date of Birth</label>
<input type="date" name="name" class="form-control" value="<?php echo $dob; ?>">
<span class="help-block"><?php echo $dob_err;?></span>
</div>
<div class="form-group <?php echo (!empty($contact_err)) ? 'has-error' : ''; ?>">
<label>Contact</label>
<input type="text" name="contact" class="form-control" value="<?php echo $contact; ?>">
<span class="help-block"><?php echo $contact_err;?></span>
</div>
<div class="form-group <?php echo (!empty($address_err)) ? 'has-error' : ''; ?>">
<label>Address</label>
<textarea name="address" class="form-control"><?php echo $address; ?></textarea>
<span class="help-block"><?php echo $address_err;?></span>
</div>
<div class="form-group <?php echo (!empty($AdmissionDate_err)) ? 'has-error' : ''; ?>">
<label>Date of Admission</label>
<input type="date" name="admission" class="form-control" value="<?php echo $AdmissionDate; ?>">
<span class="help-block"><?php echo $AdmissionDate_err;?></span>
</div>
<div class="form-group <?php echo (!empty($ReAdmissionDate_err)) ? 'has-error' : ''; ?>">
<label>Date of Re-Admission</label>
<input type="date" name="admission" class="form-control" value="<?php echo $ReAdmissionDate; ?>">
<span class="help-block"><?php echo $ReAdmissionDate_err;?></span>
</div>
<div class="form-group <?php echo (!empty($LastSchool_err)) ? 'has-error' : ''; ?>">
<label>Last School</label>
<input type="text" name="school" class="form-control" value="<?php echo $LastSchool; ?>">
<span class="help-block"><?php echo $LastSchool_err;?></span>
</div>
<div class="form-group <?php echo (!empty($DateLeaved_err)) ? 'has-error' : ''; ?>">
<label>Date Leaved</label>
<input type="date" name="school" class="form-control" value="<?php echo $DateLeaved; ?>">
<span class="help-block"><?php echo $DateLeaved_err;?></span>
</div>
<div class="form-group <?php echo (!empty($gender_err)) ? 'has-error' : ''; ?>">
<label>Gender</label>
<input type="text" name="gender" class="form-control" value="<?php echo $gender; ?>">
<span class="help-block"><?php echo $gender_err;?></span>
</div>
<input type="submit" class="btn btn-primary" value="Create">
<a href="index.php" class="btn btn-default">Cancel</a>
</form>
</div>
</div>
</div>
</div>
</body>
</html>