Message d'erreur "deprecated:mysql_pconnect()"

Fermé
jus2mandarine Messages postés 220 Date d'inscription vendredi 5 juin 2015 Statut Membre Dernière intervention 1 décembre 2023 - 27 juin 2022 à 19:42
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 28 juin 2022 à 19:08
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

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
27 juin 2022 à 19:52
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
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
Modifié le 27 juin 2022 à 19:58
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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
27 juin 2022 à 20:03
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
jus2mandarine Messages postés 220 Date d'inscription vendredi 5 juin 2015 Statut Membre Dernière intervention 1 décembre 2023
28 juin 2022 à 14:33
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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
28 juin 2022 à 14:44
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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
28 juin 2022 à 14:57
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
jus2mandarine Messages postés 220 Date d'inscription vendredi 5 juin 2015 Statut Membre Dernière intervention 1 décembre 2023
Modifié le 28 juin 2022 à 15:37
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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
28 juin 2022 à 17:41
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jus2mandarine Messages postés 220 Date d'inscription vendredi 5 juin 2015 Statut Membre Dernière intervention 1 décembre 2023
28 juin 2022 à 17:47
La ligne 27 c'est celle-ci :

$datas = [':email' => $email];
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
28 juin 2022 à 19:08
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
jus2mandarine Messages postés 220 Date d'inscription vendredi 5 juin 2015 Statut Membre Dernière intervention 1 décembre 2023
28 juin 2022 à 17:53
<?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