How can PHP code be structured to prevent duplicate entries in a guestbook?

To prevent duplicate entries in a guestbook, you can check if the entry already exists before inserting it into the database. This can be done by querying the database to see if a similar entry already exists based on certain criteria (e.g., name and message content). If a duplicate entry is found, you can display an error message to the user instead of inserting the duplicate entry.

// Connect to the database
$mysqli = new mysqli("localhost", "username", "password", "database");

// Check if the entry already exists
$name = $_POST['name'];
$message = $_POST['message'];

$query = "SELECT * FROM guestbook WHERE name = '$name' AND message = '$message'";
$result = $mysqli->query($query);

if ($result->num_rows > 0) {
    echo "Error: Duplicate entry found.";
} else {
    // Insert the entry into the database
    $insert_query = "INSERT INTO guestbook (name, message) VALUES ('$name', '$message')";
    $mysqli->query($insert_query);
    echo "Entry added successfully.";
}

// Close the database connection
$mysqli->close();