Hello all,
Currently I'm working with Ben Falk's tutorial on PHP CRUD Videos and I got my head spinning with some errors
I'm stuck at video part 5 and below is my code (which I did based on the videos) for your reference (to help me ):
<?php
include ('connect-db.php');
function renderForm($first = NULL, $last = NULL, $error = NULL, $id = NULL) { ?>
<!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><?php if ($id != '') { echo "Edit Record"; } else { echo "New Record"; } ?></title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<link rel="shortcut icon" href="images/favicon.ico" />
</head>
<body>
<h1><?php if ($id != '') { echo "Edit Record"; } else { echo "New Record"; } ?></h1>
<?php if($error != '') {
echo "<div style='padding=4px; border=1px solid red; color:red'>" . $error . "</div";
} ?>
<form action="" method="post">
<div>
<?php if (!empty($id)) { ?>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<p>ID: <?php echo $id; ?></p>
<?php } ?>
<strong>First Name: *</strong> <input type="text" name="firstname" value="<?php echo $first; ?>" />
<strong>Last Name: *</strong> <input type="text" name="lastname" value="<?php echo $last; ?>" />
<p>* Required</p>
<input type="submit" name="submit" value="Submit" />
</div>
</form>
</body>
</html>
<?php } ?>
<?php
if (isset($_GET['id'])) {
// editing existing records
renderForm(NULL, NULL, NULL, $_GET['id']);
} else {
// create new record
if (isset($_POST['submit'])) {
$firstname = htmlentities($_POST['firstname'], ENT_QUOTES);
$lastname = htmlentities($_POST['lastname'], ENT_QUOTES);
if ($firstname == NULL || $lastname = NULL) {
$error = 'ERROR: Please fill in all the required field';
renderForm($firstname, $lastname, $error);
} else {
if ($stmt = $mysqli->prepare("INSERT players (firstname, lastname) VALUES (?,?)")) {
$stmt->bind_param("ss", $firstname, $lastname);
$stmt->execute();
$stmt->close();
} else {
echo "Error: Could not prepare SQL statement.";
}
header("Location: view.php");
}
} else {
renderForm();
}
}
$mysqli->close();
?>
And this is the error message I've got :
Warning: mysqli_stmt::execute() [mysqli-stmt.execute]: (23000/1048): Column 'lastname' cannot be null in C:\xampp\htdocs\test\crud-mysqli\records.php on line 59
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test\crud-mysqli\records.php:42) in C:\xampp\htdocs\test\crud-mysqli\records.php on line 64
Hopefully someone can help me on this and your help will highly appreciated!
Many thanks!