Message d'erreur "deprecated:mysql_pconnect()"

jus2mandarine Messages postés 258 Statut Membre -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour Chers tous,
Je tenter d'ouvrir un fichier php sur mon navigateur web, et j'ai le message d'erreur qui s'affiche sur la capture que j'ai joint à ce message.

Par ailleurs, ci-dessous, se trouve lien permettant de télécharger le fichier php qui pose problème.

https://www.cjoint.com/c/LFBrO47XW3P

Merci pour votre support.

Cordialement /-

6 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    L'extension mysql_* est OBSOLETE
    Désormais, il faut utiliser l'extension mysqli ou pdo .

    Il te faut donc réécrire ton code en utilisant une de ces deux extensions.. (perso je préfère pdo)
    0
  2. choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    Bonjour ..
    Le message d'erreur est bien explicite en signifiant que la commande utilisée (mysql_connect) n'est plus applicable et doit être remplacée par une autre commande mysqli_connect() ..
    Il faut donc modifier le fichier php.

    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      hello
      il peut aussi passer par du PDO ... ou du mysqli objet ...

      Quoi qu'il en soit, il n'y aura pas que cette instruction à changer .. mais tout le code qui sert à faire des requêtes SQL ...
      0
  3. jus2mandarine Messages postés 258 Statut Membre 1
     
    J'ai modifié le code du fichier de connexion à la base de données mySQL. Le lien de ce fichier est ci-dessous :

    https://cjoint.com/c/LFCmE2QwJo7

    Ci-dessous, le lien du fichier php qui affiche les erreurs après la modification du code :

    https://cjoint.com/c/LFCmGgmY6w7

    Ci-dessous, un aperçu du nouveau message d'erreur après la modification du code :



    Merci pour le support /-
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Comme je le disais .. il ne suffit pas de modifier la connexion ... il faut aussi refaire TOUTES les instructions qui servent à manipuler la bdd....

      Tu ne dois plus avoir dans ton code, une seule ligne de code contenant mysql_*

      Pour PDO, voici un exemple d'écriture propre de code pour la connexion et l'exécution d'une requête
      https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs


      PS: A l'avenir, merci de coller le code DIRECTEMENT dans le forum ( en utilisant les balises de code), plutôt que de nous mettre des fichiers à télécharger....

      => explications balises de code : https://forums.commentcamarche.net/forum/affich-37598670-mise-en-forme-du-forum-et-des-fiches-pratiques-ccm#les-codes-sources
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        en gros
        <?php
        //démarrage des sessions
        session_start();
        
        //----------------------------------//
        // Connexion à la bdd
        //----------------------------------//
        require_once "tonfichierdeconnexionatabdd.php";
        
        
        //----------------------------------//
        // récupération PROPRE des variables AVANT de les utiliser
        //----------------------------------//
        
        $email = !empty($_POST['email']) ? trim($_POST['email']) : NULL;
        $pass = !empty($_POST['Pass']) ? trim($_POST['Pass']) : NULL;
        
        
        //----------------------------------//
        // Traitement du formulaire de connexion
        //----------------------------------//
        
        if ($email && $pass) {
        
        // on prépare la requête et ses variables :  
          $sql = "SELECT * FROM `admin` WHERE email =:email ";
          $datas = [':email' => $email];
        //Execution de la requete
          try {
            $requete = $db->prepare($sql);
            $requete->execute($datas);
          } catch (Exception $e) {
            // en cas d'erreur :
            echo " Erreur ! " . $e->getMessage();
            echo " Les datas : ";
            print_r($datas);
          }
        
          $result = $requete->fetchAll(); // on stocke le résultat dans un array
          $totalRows_rsSelectAdmin = count($result);
        
        //si on a bien qu'un seul user avec cet email 
          if ($totalRows_rsSelectAdmin == 1) {
            
            //On ne stocke pas le password en CLAIR dans la bdd.
            // il faut, lors de son insertion en bdd, le hasher.
            // pour ça, il faut utiliser : https://www.php.net/manual/fr/function.password-hash.php
            
            
            //par conséquent, il faut ensuite utiliser la fonction password_verify  pour vérifier qu'il est conforme
            // https://www.php.net/manual/fr/function.password-verify.php
            
            $password_bdd = $result[0]['pass']; // mot de passe du user dans la bdd
            
            if(password_verify($pass, $password_bdd)){
              // les mots de passe sont identiques
              // ...
              $_SESSION['USER'] = $result[0]; // on stocke le user en SESSION ..
              //... etc..
            }
            
          }
        }
        ?>
        
        <!doctype html>
        <html>
          <head>
            <meta charset="utf-8">
            <title>Connexion admin</title>
          </head>
        
          <body>
            <div style="background:repeat-y; width:2048; height:auto; margin-let:auto;margin-right:auto;margin-top:10px;">
        
              <div style="background:none; padding-top:32px">
                <div style="font-style:normal; font-family:Arial black; border-bottom:solid 1px #666666; color:black; height:200px;font-size:24px; margin-top:5px;text-align:center"><img src="../../Design/logo OARHx.png" width="189" height="180"></div>
                <form name="form1" method="POST" action="">
                  <table width="381" align="center"> 
                    <tr>
                      <td width="181" height=32px align="center">
                        <span style="font-style:normal; font-family:Arial black; color:black; height:50px;font-size:24px; margin-top:20px;text-align:center">CONNEXION</span>
                      </td>
                    </tr>
                    <tr>
                      <td align="center">
                        <label for="email"></label>
                        <input name="email" type="text" id="email" placeholder="Email" value="" size="32px" style="font-family:arial; height:32px; font-size:16px">
                      </td>
                    </tr>
                    <tr>
                      <td style:border-bottom:solid 1px white></td>
                    </tr>
                    <tr>
                      <td></td>
                    </tr>
                    <tr>
                      <td align="center"><label for="Pass"></label>
                        <input name="Pass" type="password" id="Pass" placeholder="Mot de passe" size="32px" style="font-family:arial; height:32px; font-size:16px">
                      </td>
                    </tr>
                    <tr>
                      <td></td>
                    </tr>
                    <tr>
                      <td></td>
                    </tr>
                    <tr>
                      <td height="32px"></td>
                    </tr>
                  </table>
                  <table width="400px" align="center">
                    <tr>
                      <td align="center"><input src="../../Design/Bouton3.png" type="image"/></td>
                    </tr>
                    <tr>
                      <td></td>
                    </tr>
                    <tr>
                      <td></td>
                    </tr>
                  </table>
                </form>
              </div>
            </div>
          </body>
        </html>
        
        
        0
  4. jus2mandarine Messages postés 258 Statut Membre 1
     
    Merci beau Jordane45,

    Mais je ne comprends pas pourquoi il y a une erreur à la ligne 27.

    <?php
    //démarrage des sessions
    session_start();

    //----------------------------------//
    // Connexion à la bdd
    //----------------------------------//
    require_once "connexion_oarh.php";

    //----------------------------------//
    // récupération PROPRE des variables AVANT de les utiliser
    //----------------------------------//

    $email = !empty($_POST['email']) ? trim($_POST['email']) : NULL;
    $pass = !empty($_POST['Pass']) ? trim($_POST['Pass']) : NULL;

    //----------------------------------//
    // Traitement du formulaire de connexion
    //----------------------------------//

    if ($email && $pass) {

    // on prépare la requête et ses variables :
    $sql = "SELECT * FROM `admin` WHERE email =:email ";
    $datas = [':email' => $email];
    //Execution de la requete
    try {
    $requete = $db->prepare($sql);
    $requete->execute($datas);
    } catch (Exception $e) {
    // en cas d'erreur :
    echo " Erreur ! " . $e->getMessage();
    echo " Les datas : ";
    print_r($datas);
    }

    $result = $requete->fetchAll(); // on stocke le résultat dans un array
    $totalRows_rsSelectAdmin = count($result);

    //si on a bien qu'un seul user avec cet email
    if ($totalRows_rsSelectAdmin == 1) {

    //On ne stocke pas le password en CLAIR dans la bdd.
    // il faut, lors de son insertion en bdd, le hasher.
    // pour ça, il faut utiliser : https://www.php.net/manual/fr/function.password-hash.php

    //par conséquent, il faut ensuite utiliser la fonction password_verify pour vérifier qu'il est conforme
    // https://www.php.net/manual/fr/function.password-verify.php

    $password_bdd = $result[0]['pass']; // mot de passe du user dans la bdd

    if(password_verify($pass, $password_bdd)){
    // les mots de passe sont identiques
    // ...
    $_SESSION['USER'] = $result[0]; // on stocke le user en SESSION ..
    //... etc..
    }

    }
    }
    ?>

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Connexion admin</title>
    </head>

    <body>
    <div style="background:repeat-y; width:2048; height:auto; margin-let:auto;margin-right:auto;margin-top:10px;">

    <div style="background:none; padding-top:32px">
    <div style="font-style:normal; font-family:Arial black; border-bottom:solid 1px #666666; color:black; height:200px;font-size:24px; margin-top:5px;text-align:center"><img src="../../Design/logo OARHx.png" width="189" height="180"></div>
    <form name="form1" method="POST" action="">
    <table width="381" align="center">
    <tr>
    <td width="181" height=32px align="center">
    <span style="font-style:normal; font-family:Arial black; color:black; height:50px;font-size:24px; margin-top:20px;text-align:center">CONNEXION</span>
    </td>
    </tr>
    <tr>
    <td align="center">
    <label for="email"></label>
    <input name="email" type="text" id="email" placeholder="Email" value="" size="32px" style="font-family:arial; height:32px; font-size:16px">
    </td>
    </tr>
    <tr>
    <td style:border-bottom:solid 1px white></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr>
    <td align="center"><label for="Pass"></label>
    <input name="Pass" type="password" id="Pass" placeholder="Mot de passe" size="32px" style="font-family:arial; height:32px; font-size:16px">
    </td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr>
    <td height="32px"></td>
    </tr>
    </table>
    <table width="400px" align="center">
    <tr>
    <td align="center"><input src="../../Design/Bouton3.png" type="image"/></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    </table>
    </form>
    </div>
    </div>
    </body>
    </html>
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Vu que tu n'as pas posté ton code correctement ( en indiquant le langage dans les balises de code) ... alors que je t'ai donné un lien explicatif sur leur fonctionnement... ( ce qui fait que je n'ai ni la coloration syntaxique.. ni la numérotation des lignes...)

      et vu que... tu ne nous donnes pas le message d'erreur en question .....

      Comment penses-tu que je puisse te répondre ???
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jus2mandarine Messages postés 258 Statut Membre 1
     
    La ligne 27 c'est celle-ci :

    $datas = [':email' => $email];
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Il n'y a pas d'anomalie dans ce code....

      Si tu donnais le message d'erreur exact ça permettrait très certainement de pouvoir identifier le souci....
      0
  7. jus2mandarine Messages postés 258 Statut Membre 1
     
    <?php
    //démarrage des sessions
    session_start();
    
    //----------------------------------//
    // Connexion à la bdd
    //----------------------------------//
    require_once "connexion_oarh.php";
    
    
    //----------------------------------//
    // récupération PROPRE des variables AVANT de les utiliser
    //----------------------------------//
    
    $email = !empty($_POST['email']) ? trim($_POST['email']) : NULL;
    $pass = !empty($_POST['Pass']) ? trim($_POST['Pass']) : NULL;
    
    
    //----------------------------------//
    // Traitement du formulaire de connexion
    //----------------------------------//
    
    if ($email && $pass) {
    
    // on prépare la requête et ses variables :  
      $sql = "SELECT * FROM `admin` WHERE email =:email ";
      $datas = [':email' => $email];
    //Execution de la requete
      try {
        $requete = $db->prepare($sql);
        $requete->execute($datas);
      } catch (Exception $e) {
        // en cas d'erreur :
        echo " Erreur ! " . $e->getMessage();
        echo " Les datas : ";
        print_r($datas);
      }
    
      $result = $requete->fetchAll(); // on stocke le résultat dans un array
      $totalRows_rsSelectAdmin = count($result);
    
    //si on a bien qu'un seul user avec cet email 
      if ($totalRows_rsSelectAdmin == 1) {
        
        //On ne stocke pas le password en CLAIR dans la bdd.
        // il faut, lors de son insertion en bdd, le hasher.
        // pour ça, il faut utiliser : https://www.php.net/manual/fr/function.password-hash.php
        
        
        //par conséquent, il faut ensuite utiliser la fonction password_verify  pour vérifier qu'il est conforme
        // https://www.php.net/manual/fr/function.password-verify.php
        
        $password_bdd = $result[0]['pass']; // mot de passe du user dans la bdd
        
        if(password_verify($pass, $password_bdd)){
          // les mots de passe sont identiques
          // ...
          $_SESSION['USER'] = $result[0]; // on stocke le user en SESSION ..
          //... etc..
        }
        
      }
    }
    ?>
    
    <!doctype html>
    <html>
      <head>
        <meta charset="utf-8">
        <title>Connexion admin</title>
      </head>
    
      <body>
        <div style="background:repeat-y; width:2048; height:auto; margin-let:auto;margin-right:auto;margin-top:10px;">
    
          <div style="background:none; padding-top:32px">
            <div style="font-style:normal; font-family:Arial black; border-bottom:solid 1px #666666; color:black; height:200px;font-size:24px; margin-top:5px;text-align:center"><img src="../../Design/logo OARHx.png" width="189" height="180"></div>
            <form name="form1" method="POST" action="">
              <table width="381" align="center"> 
                <tr>
                  <td width="181" height=32px align="center">
                    <span style="font-style:normal; font-family:Arial black; color:black; height:50px;font-size:24px; margin-top:20px;text-align:center">CONNEXION</span>
                  </td>
                </tr>
                <tr>
                  <td align="center">
                    <label for="email"></label>
                    <input name="email" type="text" id="email" placeholder="Email" value="" size="32px" style="font-family:arial; height:32px; font-size:16px">
                  </td>
                </tr>
                <tr>
                  <td style:border-bottom:solid 1px white></td>
                </tr>
                <tr>
                  <td></td>
                </tr>
                <tr>
                  <td align="center"><label for="Pass"></label>
                    <input name="Pass" type="password" id="Pass" placeholder="Mot de passe" size="32px" style="font-family:arial; height:32px; font-size:16px">
                  </td>
                </tr>
                <tr>
                  <td></td>
                </tr>
                <tr>
                  <td></td>
                </tr>
                <tr>
                  <td height="32px"></td>
                </tr>
              </table>
              <table width="400px" align="center">
                <tr>
                  <td align="center"><input src="../../Design/Bouton3.png" type="image"/></td>
                </tr>
                <tr>
                  <td></td>
                </tr>
                <tr>
                  <td></td>
                </tr>
              </table>
            </form>
          </div>
        </div>
      </body>
    </html>
    0