Besoin de l'avis du expert.

Miloss
Invité n'ayant pas de compte PHPfrance

03 avr. 2006, 17:48

J'ai monté ce code là
<?php
/* Programme permettant de valider l'authentification fournis par le client */

// Démarrage d'une session
   session_start();

// Paramètre de connexion
   $serveur      = "localhost";
   $utilisateur  = "root";
   $motdepasse   = "";
   $basededonnee = "membre";

// Récupération de données
   $login      = $_POST["login"];
   $motdepasse = $_POST["motdepasse"];

// Connexion à la base de donnée et à la table
   @mysql_pconnect($serveur, $utilisateur, $motdepasse)
              or die ("Connexion au serveur impossible ¬@³²¬¦@");
   @mysql_connect_db($basededonnee, $connexion)
              or die ("Sélection de la base de donnée imposible");

// Comparaison des informations données avec la base de donnée
   $requete   = "SECLECT * FROM membre WHERE login='$login' AND motdepasse='$motdepasse'";
   $accomplir = mysql_query($requete);

// Vérification de l'authentification
   if ($enreg = @mysql_fetch_array($accomplir))
   {
        $_SESSION["membre"] = TRUE;
        $_SESSION["membreid"] = $membre;
        header("Location: zone/membre/index.php");
        die();
    }
     else
    {
        $_SESSION["membre"] = FALSE;
        header("Location: zone/index2.php");
        die();
    }
?>
Mais la connection au serveur ne s'effectue pas... Pourtant ce n'est pas la première fois que j'utilise se genre de code, je sais pertinament que les identifiant sont bon... Y'aurrait-il une faille dans mon code?

Miloss
Invité n'ayant pas de compte PHPfrance

03 avr. 2006, 17:51

Désolé pour le Criss dans mon code. C'est que je voulais être sûre que c'était la bonne page qui était loader :lol:

Mammouth du PHP | 19672 Messages

03 avr. 2006, 17:56

Désolé pour le Criss dans mon code. C'est que je voulais être sûre que c'était la bonne page qui était loader :lol:
Mouais, j'ai édité et corrigé tab[Censuré]!

Ceci dit, enlève les "@" devant les fonctions si tu veux avoir les messages d'erreur, c'est indispensable en débuggage.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Miloss
Invité n'ayant pas de compte PHPfrance

03 avr. 2006, 17:58

J'l'aurrais bien fait moi même mais hen... Merci (t'aurrais pu l'enlever tout simplment par contre, le mot pas le topic :D)

Mammouth du PHP | 768 Messages

03 avr. 2006, 18:08

pourquoi utilises tu une connexion persistante ?
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Miloss
Invité n'ayant pas de compte PHPfrance

03 avr. 2006, 18:14

Soit, il m'affiche ça comme erreur:
Warning: mysql_pconnect(): Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) in c:\documents and settings\miloss\mes documents\kekoo\zone\validation.php on line 18
J'utilise appache donc il est normal que je laisse localhost, root...
Ce qui me déroute c'est que je l'ai utilisé au moins 1000 fois avant aujourd'hui alors je me dis qu'il y a une faille dans mon code...
Et pour la connexion persistante ou non, ça marche pas... Alors je sais pas si ça change de quoi...

Mammouth du PHP | 768 Messages

03 avr. 2006, 18:32

// Paramètre de connexion 
   $serveur      = "localhost"; 
   $utilisateur  = "root"; 
   $motdepasse   = ""; 
   $basededonnee = "membre"; 

// Récupération de données 
   $login      = $_POST["login"]; 
   $motdepasse = $_POST["motdepasse"];
Il y a deux variables $motdepasse. Ya comme un problème non ? :wink:
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Miloss
Invité n'ayant pas de compte PHPfrance

03 avr. 2006, 18:53

Oh. Ça me ferrait pas de mal de varier hein

Mammouth du PHP | 768 Messages

03 avr. 2006, 19:00

Oh. Ça me ferrait pas de mal de varier hein
Moi je stocke toujours mes identifiants de connexion dans une constante
Comme l'indique son nom, ce genre de donnée n'est pas censé être modifié lors de l'exécution de mon script.
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphant du PHP | 417 Messages

03 avr. 2006, 19:14

Vite analysé...
Tu ne définis pas $connexion avant cette ligne:
mysql_connect_db($basededonnee, $connexion) ...
Auparavant, il faudrait que $connexion égale quelque chose:
$connexion = mysql_pconnect($serveur, $utilisateur, $motdepasse) ...

Eléphanteau du PHP | 40 Messages

03 avr. 2006, 20:17

// Comparaison des informations données avec la base de donnée
   $requete   = "[b]SECLECT[/b] * FROM membre WHERE login='$login' AND motdepasse='$motdepasse'";
   $accomplir = mysql_query($requete);
Euh, c'est normal ça ? :?