Skip to content

Instantly share code, notes, and snippets.

@daveh
Last active July 11, 2024 16:30
Show Gist options
  • Save daveh/c5a691136c7e3b81dc8e72b3fc1054b3 to your computer and use it in GitHub Desktop.
Save daveh/c5a691136c7e3b81dc8e72b3fc1054b3 to your computer and use it in GitHub Desktop.
HTML to MySQL using PHP (code to accompany https://youtu.be/Y9yE98etanU)
<!DOCTYPE html>
<html>
<head>
<title>Contact</title>
<meta charset="UTF-8">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.min.css">
</head>
<body>
<h1>Contact</h1>
<form action="process-form.php" method="post">
<label for="name">Name</label>
<input type="text" id="name" name="name">
<label for="message">Message</label>
<textarea id="message" name="message"></textarea>
<label for="priority">Priority</label>
<select id="priority" name="priority">
<option value="1">Low</option>
<option value="2" selected>Medium</option>
<option value="3">High</option>
</select>
<fieldset>
<legend>Type</legend>
<label>
<input type="radio" name="type" value="1" checked>
Complaint
</label>
<br>
<label>
<input type="radio" name="type" value="2">
Suggestion
</label>
</fieldset>
<label>
<input type="checkbox" name="terms">
I agree to the terms and conditions
</label>
<br>
<button>Send</button>
</form>
</body>
</html>
<?php
$name = $_POST["name"];
$message = $_POST["message"];
$priority = filter_input(INPUT_POST, "priority", FILTER_VALIDATE_INT);
$type = filter_input(INPUT_POST, "type", FILTER_VALIDATE_INT);
$terms = filter_input(INPUT_POST, "terms", FILTER_VALIDATE_BOOL);
if ( ! $terms) {
die("Terms must be accepted");
}
$host = "localhost";
$dbname = "message_db";
$username = "root";
$password = "";
$conn = mysqli_connect(hostname: $host,
username: $username,
password: $password,
database: $dbname);
if (mysqli_connect_errno()) {
die("Connection error: " . mysqli_connect_error());
}
$sql = "INSERT INTO message (name, body, priority, type)
VALUES (?, ?, ?, ?)";
$stmt = mysqli_stmt_init($conn);
if ( ! mysqli_stmt_prepare($stmt, $sql)) {
die(mysqli_error($conn));
}
mysqli_stmt_bind_param($stmt, "ssii",
$name,
$message,
$priority,
$type);
mysqli_stmt_execute($stmt);
echo "Record saved.";
@delt0m
Copy link

delt0m commented May 10, 2024

Hey Dave,

Is there any way I can have the database table on another HTML page?

if there are any YouTube videos related to this, could you provide the links?

@daveh
Copy link
Author

daveh commented May 11, 2024

@delt0m Something like this do you mean?

@zoro7sn
Copy link

zoro7sn commented Jun 21, 2024

can u tell me what wrong pls

Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 2 in C:\xampp\htdocs\THE-BEST\aaa.php:31 Stack trace: #0 C:\xampp\htdocs\THE-BEST\aaa.php(31): mysqli_stmt_prepare(Object(mysqli_stmt), 'INSERT INTO inf...') #1 {main} thrown in C:\xampp\htdocs\THE-BEST\aaa.php on line 31

dsdsdsdsdsdsdsdsdsdsddsds5608
sdsdsdsdsdsdsdsdsds22222222222024-06-21 205651

@daveh
Copy link
Author

daveh commented Jun 22, 2024

@zoro7sn There's an extra comma in your SQL after the values list - it should be VALUES (?, ?, ?, ?)

@zoro7sn
Copy link

zoro7sn commented Jun 22, 2024

thank u so match it worked but can i ask u about something else pls

how can i remove the data that i sent from the html to the database
يبيبيبيبيببييييييييييييييييييييي

@daveh
Copy link
Author

daveh commented Jun 22, 2024

@zoro7sn It looks like you don't have a primary key in your table, which makes it difficult to uniquely identify individual rows. There's an article here that might help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment