D'une façon générale, pour tester rapidement du php en ligne en fonction de la version, il y a :

https://3v4l.org/

J'avais une fonction pour tester la validité d'un mail:

    function IsEmail($email)
    {
     //   $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
     //   return (preg_match($pattern,$email)) ? true : false;

};

Elle est remplacée par :

    function IsEmail($email)
    {
    if (!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,7}$/i", $email)) {
        return false;
    } else {
        return true;
    }
    };

voir https://www.skyminds.net/php-5-3-resoudre-lerreur-function-eregi-is-deprecated

PHP Notice: Undefined offset...

variable non définie en général... On peut utiliser les propriétés de php7 pour condenser un peu (voir https://wiki.php.net/rfc/isset_ternary ).

Par exemple :

echo $truc[1]

peut être remplacé par

var_dump ($truc[1]??'')

Message Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; BD has a deprecated constructor

voir aussi : http://php.net/manual/fr/migration70.deprecated.php

pour passer à dbo:

voir https://openclassrooms.com/forum/sujet/fetch-peut-remplacer-mysqlfetchassoc-32083 J'utilisais une classe basée sur des mysql_query etc... du coup, pour remplacer tout ca, ca donne: ajouter qque part :

puis remplacer //if ($resultat = $bd->execRequete ($req)) { //while ($liste = $bd->objetSuivant ($resultat)) par if ($resultat = $bd->query ($req, PDO::FETCH_OBJ)) { foreach ($resultat as $liste) { ...} } ou bien if ($resultat = $bd->query ($req, PDO::FETCH_OBJ)) { while ($liste = $resultat->fetch(/*PDO::FETCH_OBJ*/)) {

...} } remplacer // $num = mysql_num_rows($resultat); par $num = $resultat->rowCount();