Passage à php 7 de l’hébergeur. plus de connexion à la base.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Passage à php 7 de l’hébergeur. plus de connexion à la base.

Re: Passage à php 7 de l’hébergeur. plus de connexion à la base.

par @rthur » 14 févr. 2016, 22:00

Bonjour,

ereg() n'existe plus en PHP7, à remplacer par preg_match()
Idem pour les fonctions en mysql_* qui doivent être remplacées par des fonctions mysqli_* ou par PDO

Si tout ton site est basé sur des fonctions périmées comme celles ci, ça va te demander pas mal de boulot

Passage à php 7 de l’hébergeur. plus de connexion à la base.

par titiatita » 14 févr. 2016, 17:18

Bonjour,
mon hébergeur ma conseillé de passer php en php7.
problème suite a sa modification plus rien ne fonctionne, mon administration est inutilisable. d'après lui je dois adapter mon code de connexion mais je ne sais pas quoi changer... alors je viens vous demander de l'aide.
ma page connexion.php est la suivante.

Code : Tout sélectionner

<?php session_start(); // Redirige l'utilisateur s'il est déjà identifié if(isset($_SESSION["TB_Nom_Utilisateur"])) { header("Location: index.php"); } else { // Formulaire visible par défaut $masquer_formulaire = false; // Une fois le formulaire envoyé if(isset($_POST["BT_Envoyer"])) { // Vérification de la validité des champs if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"])) { $message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n"; $message .= "L'utilisation de l'underscore est autorisée"; } elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"])) { $message = "Votre mot de passe doit comporter au moins 6 caractères"; } else { // Connexion à la base de données // Valeurs à modifier selon vos paramètres configuration mysql_connect("host","utilisateur","mdp"); mysql_select_db("base"); // Sélection de l'utilisateur concerné $result = mysql_query(" SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active FROM Utilisateurs WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "' "); // Si une erreur survient if(!$result) { $message = "Une erreur est survenue lors de la tentative de connexion"; } else { // Si aucun utilisateur n'a été trouvé if(mysql_num_rows($result) == 0) { $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas"; } else { // Récupération des données $row = mysql_fetch_array($result); // Si le compte n'a pas été activé if($row["Compte_Active"] == 0) { $message = "Votre compte utilisateur n'a pas été activé"; } else { // Vérification du mot de passe if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"]) { $message = "Votre mot de passe est incorrect"; } else { //création de session $_SESSION['TB_Nom_Utilisateur'] = $_POST['TB_Nom_Utilisateur']; // $_SESSION['ID_Utilisateur'] = $ID_Utilisateur; // $TB_Nom_Utilisateur = $_POST['TB_Nom_Utilisateur']; //enregistrement de l'ouverture de session pour statistique $sql = "INSERT INTO historique(ID_Utilisateur, Nom_Utilisateur, Date_Connexion ) VALUES('','$TB_Nom_Utilisateur', NOW())"; mysql_query($sql) or die('Erreur SQL !'.$sql.' '.mysql_error()); // Fermeture de la connexion à la base de données mysql_close(); // Redirection de l'utilisateur header("Location: index.php"); } } } } // Fermeture de la connexion à la base de données mysql_close(); } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Connexion</title> <link rel="stylesheet" type="text/css" href="style/style.css"></link> </head> <body class="login"> &nbsp; <div id="login"> <?php if(isset($message)) { ?> <?php echo $message; ?><?php } if($masquer_formulaire != true) { ?> <form name="loginform" id="loginform" action="http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post"> <p> <label>Identifiant<br /> <input type="text" name="TB_Nom_Utilisateur" id="TB_Nom_Utilisateur" class="input" value="" size="20" tabindex="10" /></label> </p> <p> <label>Mot de passe<br /> <input type="password" name="TB_Mot_de_Passe" id="TB_Mot_de_Passe" class="input" value="" size="20" tabindex="20" /></label> </p> <p class="submit"> <input type="submit" name="BT_Envoyer" class="button-primary" value="Se connecter" tabindex="100" /> </p> </form> <?php } ?> </div> </body> </html>