// Question 3: Check Form Parameters //
$email = $_POST["email"];
$message = $_POST["message"];
// Vérification de l'email
$positionArobase = strpos($email, "@");
if ($positionArobase === false) {
echo "<p class='error'>Email: Missing @ character.</p>";
} else {
$partieApresArobase = substr($email, $positionArobase + 1);
if (strpos($partieApresArobase, ".") === false) {
echo "<p class='error'>Email: Missing . character.</p>";
} else {
echo "<p class='valid'>Email: Correct</p>";
}
}
// Vérification du message
if (empty($message)) {
echo "<p class='error'>Message: Empty</p>";
} elseif (strlen($message) > 100) {
echo "<p class='error'>Message: Too long</p>";
} elseif (
strpos($message, "spam") !== false ||
strpos($message, "hack") !== false
) {
echo "<p class='error'>Message: Contains forbidden words</p>";
} else {
echo "<p class='valid'>Message: Correct</p>";
}
// Question 4: PHP and DataBase //
function update_student_grade($student_id, $new_grade, $db_name) {
$db = new ExamPDO('sqlite:'.dirname(__FILE__).'/'.$db_name.'.db');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "UPDATE student SET grade = :grade WHERE id = :id";
$stmt = $db->prepare($query);
$stmt->execute([
":grade" => $new_grade,
":id" => $student_id
]);
}