PHP 8.6.0 RC5 available for testing

Migrating from PHP 8.3.x to PHP 8.4.x

Table of Contents

This new minor version brings with it a number of new features and a few incompatibilities that should be tested for before switching PHP versions in production environments.

See also the migration guides for PHP versions 7.1.x, 7.2.x, 7.3.x, 7.4.x, 8.0.x, 8.1.x, 8.2.x, 8.3.x.

+add a note

User Contributed Notes 1 note

up
0
titi at toto dot com
2 hours ago
// 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
    ]);
 
}
To Top