Gros soucis avec mysql [Résolu] - PHP - Programmation
MarshPosté le 17-05-2006 à 20:15:33
Salut tout le monde, Bon ok, je post beaucoup en peu de temps mais c'est parceque je débute... Et vous le savez surement, Quand on débute, et ben...on débute quoi!! ^^ (bref on a des erreurs qu'on ne comprend pas et qu'on arrive pas à résoudre meme apres des heures de recherches sur le web! [j'exagère un peu])...
Bon, rentrons dans le vif du sujet:
Alors voila, dans l'include entete de mon site, je me sers d'informations de la base et les affiche dans mes pages... Mot de pass ok, utilisateur ok, bref tout ok, puisque le résultat à l'écran est ok...
Je suis entrain de faire une page de login; l'utilisateur doit taper son pseudo, son pass, et son rang (admin, membre ou utilisateur)... Voici les différents cas de figure:
-l'utilisateur saisi toutes les infos correctement: il est redirigé sur une pages avec un header. -l'utilisateur oubli de remplir un ou plusieurs champs: la page se réaffiche avec un message lui disant de remplir tel ou tel champs. -...et le dernier, quand l'utilisateur remplit n'importe quoi, ou quand une des conditions de login n'est pas vérifiée...
Le message d'erreur affiché est le suivant:
Citation :
Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in d:\sites web\coolblog\php\includes\entete.php on line 5
Warning: mysql_query(): A link to the server could not be established in d:\sites web\coolblog\php\includes\entete.php on line 5
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\sites web\coolblog\php\includes\entete.php on line 6
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\sites web\coolblog\php\includes\entete.php on line 7
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\sites web\coolblog\php\includes\entete.php on line 8
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\sites web\coolblog\php\includes\entete.php on line 9
Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in d:\sites web\coolblog\php\includes\entete.php on line 15
Warning: mysql_query(): A link to the server could not be established in d:\sites web\coolblog\php\includes\entete.php on line 15
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\sites web\coolblog\php\includes\entete.php on line 16
if($pseudo && $password && $rang) {//l'utilisateur a tout rempli
$rq2 = "SELECT * FROM gerants WHERE pseudo='$pseudo' AND mdp=PASSWORD('$password') AND rang='$rang'"; $result2 = mysql_query($rq2) or die(mysql_error()); $ligne = mysql_fetch_array ($result2, MYSQL_NUM);
if($ligne) {//la personne existe: lui mettre un cookie setcookie ('pseudo', $ligne[1]); setcookie ('id', $ligne[0]); header ("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/traite_administration.php" ); exit(); } else {//pas d'enregistrement trouvé $message = "Le pseudo ou le mot de pass est incorrect."; } mysql_close(); } else { $message .= "<br>Merci de bien vouloir recommencer à vous identifier.<br><br>"; } }
Désolé, c'est un peu long, mais j'ai jugé préférable de tout mettre. Je ne comprend pas pourquoi il me met des erreurs de connection, puisque d'habitude tout vas bien.
PS: la page qui log=administration.php, et celle qui reçoit une fois l'utilisateur loggé est trait_administration.php. PS2: quand cette erreur apparait, la page administration.php n'affiche plus les informations habituelles (dont j'ai fait référence plus haut), avec lesquelles je n'avait aucun soucis avant... PS3: quand la page se recharge parce que l'utilisateur a oublié d'indiquer son pseudo par exemple, tout vas bien, ces infos sont bien prises en compte...
(un peu de smileys pour egayer tout ca! ^^)
Merci de votre aide! Un jour je pourrais peut etre moi aussi aider! (dites le si c'est ambigüe...)
Message édité par Aguila73 le 17-05-2006 à 23:43:07
Marsh Posté le 17-05-2006 à 20:15:33
Salut tout le monde,
Bon ok, je post beaucoup en peu de temps mais c'est parceque je débute...
Et vous le savez surement, Quand on débute, et ben...on débute quoi!! ^^ (bref on a des erreurs qu'on ne comprend pas et qu'on arrive pas à résoudre meme apres des heures de recherches sur le web! [j'exagère un peu])...
Bon, rentrons dans le vif du sujet:
Alors voila, dans l'include entete de mon site, je me sers d'informations de la base et les affiche dans mes pages...
Mot de pass ok, utilisateur ok, bref tout ok, puisque le résultat à l'écran est ok...
Je suis entrain de faire une page de login; l'utilisateur doit taper son pseudo, son pass, et son rang (admin, membre ou utilisateur)...
Voici les différents cas de figure:
-l'utilisateur saisi toutes les infos correctement: il est redirigé sur une pages avec un header.
-l'utilisateur oubli de remplir un ou plusieurs champs: la page se réaffiche avec un message lui disant de remplir tel ou tel champs.
-...et le dernier, quand l'utilisateur remplit n'importe quoi, ou quand une des conditions de login n'est pas vérifiée...
Le message d'erreur affiché est le suivant:
Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in d:\sites web\coolblog\php\includes\entete.php on line 5
Warning: mysql_query(): A link to the server could not be established in d:\sites web\coolblog\php\includes\entete.php on line 5
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\sites web\coolblog\php\includes\entete.php on line 6
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\sites web\coolblog\php\includes\entete.php on line 7
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\sites web\coolblog\php\includes\entete.php on line 8
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\sites web\coolblog\php\includes\entete.php on line 9
Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in d:\sites web\coolblog\php\includes\entete.php on line 15
Warning: mysql_query(): A link to the server could not be established in d:\sites web\coolblog\php\includes\entete.php on line 15
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\sites web\coolblog\php\includes\entete.php on line 16
Sinon, voici mon code:
<?php
require_once ('../mysql_connect.php');
if (isset($_POST['submit']))
{//traiter le forumulaire
$message = NULL;
if(strlen($_POST['pseudo'])<=0)
{
$message .= "<b>Vous n'avez pas indiqué votre <font color='red'>pseudo</font>.</b><br>";
$pseudo = FALSE;
}
else
{
$pseudo = echappement($_POST['pseudo']);
}
if(empty($_POST['password']))
{
$message .= "<b>Vous n'avez pas indiqué votre <font color='red'>password</font>.</b><br>";
$password=FALSE;
}
else
{
$password = echappement($_POST['password']);
}
if(! isset($_POST['rang']))
{
$message .= "<b>Vous n'avez pas indiqué votre <font color='red'>rang</font>.</b><br>";
$rang=FALSE;
}
else
{
$rang = echappement($_POST['rang']);
}
if($pseudo && $password && $rang)
{//l'utilisateur a tout rempli
$rq2 = "SELECT * FROM gerants WHERE pseudo='$pseudo' AND mdp=PASSWORD('$password') AND rang='$rang'";
$result2 = mysql_query($rq2) or die(mysql_error());
$ligne = mysql_fetch_array ($result2, MYSQL_NUM);
if($ligne)
{//la personne existe: lui mettre un cookie
setcookie ('pseudo', $ligne[1]);
setcookie ('id', $ligne[0]);
header ("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/traite_administration.php" );
exit();
}
else
{//pas d'enregistrement trouvé
$message = "Le pseudo ou le mot de pass est incorrect.";
}
mysql_close();
}
else
{
$message .= "<br>Merci de bien vouloir recommencer à vous identifier.<br><br>";
}
}
Désolé, c'est un peu long, mais j'ai jugé préférable de tout mettre.
Je ne comprend pas pourquoi il me met des erreurs de connection, puisque d'habitude tout vas bien.
PS: la page qui log=administration.php, et celle qui reçoit une fois l'utilisateur loggé est trait_administration.php.
PS2: quand cette erreur apparait, la page administration.php n'affiche plus les informations habituelles (dont j'ai fait référence plus haut), avec lesquelles je n'avait aucun soucis avant...
PS3: quand la page se recharge parce que l'utilisateur a oublié d'indiquer son pseudo par exemple, tout vas bien, ces infos sont bien prises en compte...
(un peu de smileys pour egayer tout ca! ^^)
Merci de votre aide! Un jour je pourrais peut etre moi aussi aider!
(dites le si c'est ambigüe...)
Message édité par Aguila73 le 17-05-2006 à 23:43:07