IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Deprecated: mysql connect():


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut Deprecated: mysql connect():
    Bonjour, j'ai deux projet qui presente le meme projet, un de test et l'autre de production

    j'ai deroulé les deux avec visual studio code , quand je teste le premier le naviguateur m'affiche les pages sans aucun probleme.

    par contre sur le deuxieme, il me donnent les erreurs suivantes ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp64\www
    sachant que c'est le meme projet et les pages, le meme code, tout est codé avec mysql_connect...

    maintenant je veux pas refaire le projet et passer vers pdo ou mysqli, je veux comprendre pourquoi et essayé de supprimé les deprecated sur le projet de prod.

    Une idée please

  2. #2
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    On t'a / Je t'ai - déjà répondu.


    N.B. Merci de NE PAS ouvrir 2 discussions sur - exactement - le même thème.

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut

    je l'ai faite cette solution mais toujours il m'affiche un tableau orange avec les parametres de connexion inconnues
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    error_reporting(E_ALL ^ E_DEPRECATED);
    Nom : Capture.PNG
Affichages : 120
Taille : 11,6 Ko

    il me donne ce maudis tableau et en bas la page normal qui s'exécute et l'authentification passe tres bien

  4. #4
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Ce message d'erreur n'a RIEN à voir avec un message "DEPRECATED"...

    Encore faudrait-il savoir ce qui se passe ligne 23 ...

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    c'est au niveau de la page index :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     <?php
     
     
    	session_start();
     
    	require 'connection.php';
    	?>
     
     <?php
    	mysql_query("SET NAMES 'UTF8'");
    	$_POST['password'] = mysql_real_escape_string($_POST['password']); ligne 23
    	$_POST['NomClient'] = mysql_real_escape_string($_POST['NomClient']);
    	$_SESSION['NomClient'] = mysql_real_escape_string($_POST['NomClient']);
     
     
    	mysql_query("SET NAMES 'UTF8'");
     
    .....
    cette page est une page d'authentification, je ne comprend pas pourquoi il me dit "Undefined index: password i..." alors que la page vient d'etre affiché et je n'ai rien saisie c'est normale qu'il sera undéfini ????

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 313
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 313
    Billets dans le blog
    17
    Par défaut
    Oui c'est normal, du coup il ne faut pas traiter les champs de formulaire vu que le form n'a pas encore été soumis.

    Tu peux tester si le form a été soumis avec isset()

  7. #7
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	$_POST['password'] 	= ( isset($_POST['password']) )? 	mysql_real_escape_string($_POST['password']) : '';
    	$_POST['NomClient'] 	= ( isset($_POST['NomClient']) )? 	mysql_real_escape_string($_POST['NomClient']) : '';
    	$_SESSION['NomClient'] = $_POST['NomClient'];

    MAIS la "bonne" méthode serait de ne pas modifier le $_POST, mais d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	$password 	= ( isset($_POST['password']) )? 	mysql_real_escape_string($_POST['password']) : '';
    	$NomClient 	= ( isset($_POST['NomClient']) )? 	mysql_real_escape_string($_POST['NomClient']) : '';
    	$_SESSION['NomClient'] = $NomClient;
    ET de remplacer dans la suite du code :
    • $_POST['password'] -> $password
    • $_POST['NomClient'] -> $NomClient


    D'AUTRE PART :
    mysql_query("SET NAMES 'UTF8'"); peut se mettre (une seule fois !) directement dans le fichier connection.php.

  8. #8
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    mais ici je ne fais que recuperer les données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $_POST['password'] 	= ( isset($_POST['password']) )? 	mysql_real_escape_string($_POST['password']) : '';
    	$_POST['NomClient'] 	= ( isset($_POST['NomClient']) )? 	mysql_real_escape_string($_POST['NomClient']) : '';
    	$_SESSION['NomClient'] = $_POST['NomClient'];
    apres je teste avec isset et empty

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST) && !empty($_POST['NomClient']) && !empty($_POST['password'])) {...

  9. #9
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Alors ces lignes sont mal placées.

    Elles devraient être APRES le if (isset($_POST)....

    DE PLUS, mysql_real_escape_string() n'est utile qu'au moment de l'insertion dans la BDD.
    Donc là aussi, il faut les placer où c'est nécessaire.

  10. #10
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    donc je remodifie comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
     
    	if (isset($_POST) && !empty($_POST['NomClient']) && !empty($_POST['password'])) {
     
    //MR
    mysql_query("SET NAMES 'UTF8'");
    $_POST['password'] = mysql_real_escape_string($_POST['password']);
    $_POST['NomClient'] = mysql_real_escape_string($_POST['NomClient']);
     
    mysql_query("SET NAMES 'UTF8'");
     
    $sql = "select.. from client where code='" . mysql_real_escape_string($_POST['NomClient']) . "'";
    $req = mysql_query($sql) or die('error' . mysql_error());
     
    $data = mysql_fetch_assoc($req);
    $num_rowsI = mysql_num_rows($req);
     
    if ($num_rowsI != 0) {
    ....
    }

  11. #11
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Donc, pour toi, mysql_real_escape_string(), c'est :
    • slip ET caleçon
    • ceinture ET bretelles...


  12. #12
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    c'est comme ca que tu aide les debutants

Discussions similaires

  1. Deprecated: mysql connect():
    Par Msysteme dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/10/2021, 14h55
  2. mysql connection impossible
    Par BSD54 dans le forum Outils
    Réponses: 6
    Dernier message: 10/10/2005, 18h28
  3. [SGBD] PHP et MYSQL "Connection Impossible"
    Par saidus dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 02/10/2005, 14h26
  4. [mysql] Connection delphi à mysql
    Par pataluc dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/06/2004, 16h37
  5. [Mysql] Connection delphi à une bdd sous easyphp...
    Par pataluc dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/06/2004, 09h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo