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 -
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 /-

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
-
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)
-
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.
-
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 /--
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- 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>
-
-
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>-
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 ???
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
La ligne 27 c'est celle-ci :
$datas = [':email' => $email];
-
<?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>