Page 1 sur 2

impossible d'ouvrir une base via sessions

Posté : 21 juin 2005, 00:41
par meta
re tlm,

bon voila via une ouverture de session je tente d ouvrir ma base, par defaut je me loggue sous root, sans pass donc, mais des que je cree un user ou que je mets un pass a root et bien je me prends ca :

Warning: mysql_connect(): Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) in c:\program files\easyphp1-8\www\reglages01\admin\index.php on line 62
error connect
et si je mets pas de pass, j ai bien acces a ma base.

En revanche la validation du formulaire login/pass se deroule bien avec ou sans mot de passe...

Enfin si je crée un user, avec ou sans pass, et bien ca me mets tjs ce msg d erreur :
Warning: mysql_connect(): Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) in c:\program files\easyphp1-8\www\reglages01\admin\index.php on line 62
error connect
voila le fichier de validation :
$pseudo=$_POST['pseudo'];
$password=$_POST['password'];

//connection et authentification
$Connection=mysql_connect("localhost","root","") or die ("error connect");

//Connection à la base reglages
$odb=mysql_select_db("mysql",$Connection) or die ("Base reglages non trouvée");


$query = "SELECT * FROM user WHERE User ='$pseudo' AND password='$password' ";

$result = mysql_query($query); //execute la requete
$row = mysql_fetch_array($result);

if (empty($row)) // si $rowest vide, c'est que la combinaison user/ password est fausse
{
  echo "erreur d'auth";
}
else 
{
	session_start();
	$_SESSION['pseudo'] = $row['User'];
	$_SESSION['password'] = $row['password'];


    echo "ok"  ;
    echo "<a href=\"index.php\">Créer</a>";
   
}
et le fichier index.php :
<? 
$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:"Inconnu";
$mdp = isset($_SESSION['password'])?$_SESSION['password']:"Inconnu";


if ($pseudo != "Inconnu" && $mdp != "Inconnu")
{
    $Connection = mysql_connect("localhost", $pseudo , $mdp) or die ("error connect");
    $odb = mysql_select_db("reglages",$Connection) or die ("Base reglages non trouvée");


echo "Votre login est ".$pseudo." et votre mot de passe est ".$mdp;

voila si quelqu un aurait une idée je trouve cela assez etrange...merci de l aide :)

Posté : 21 juin 2005, 06:37
par Cyrano
Le problème vient de ce que l'utilisateur root est enregistré sans mot de passe dans la table "user" de ta base "mysql". éventuellement, tu peux ajouter des utilisateurs avec mot de passe.

Vérifie via phpMyAdmin la base "mysql". Ce n'est pas un problème de code, c'est une liste d'utilisateurs de MySQL

Posté : 21 juin 2005, 09:02
par zeus
Je vais poser une question bête, mais est-ce que tu pense à changer cette ligne quand tu met un pass à root ?
$Connection=mysql_connect("localhost","root","") or die ("error connect");

Posté : 21 juin 2005, 10:41
par meta
re,

oui le pass du root ne pose pas d probleme je pense, vu que l authentification se deroule bien a chaque fois, c est au moment d ouvrir la base avec les variable de session que ca bug, des que je renseigne un pass ca veut pas :((:..
Le problème vient de ce que l'utilisateur root est enregistré sans mot de passe dans la table "user" de ta base "mysql". éventuellement, tu peux ajouter des utilisateurs avec mot de passe.

Vérifie via phpMyAdmin la base "mysql". Ce n'est pas un problème de code, c'est une liste d'utilisateurs de MySQL
bah le soucis c est que si je mets un pass a root, l authentification se passe bien mais pareil ca bloke sur l ouverture de la base....
j ai l impresssion que des que je mets un pass et bien ca ne veut pas passer.


quelqu un aurait une idée please ?? (:(:

Posté : 21 juin 2005, 10:54
par waf_wafe
Lorsque tu crée ton nouveau user dans ta table MYSQL.user est-ce que tu pense bien aussi a te donner les droits de select, insert, delete ... ?

Posté : 21 juin 2005, 11:20
par meta
Lorsque tu crée ton nouveau user dans ta table MYSQL.user est-ce que tu pense bien aussi a te donner les droits de select, insert, delete ... ?
oui je fais "creer un utillisateur", avec ALL PRIVILEGES, et avec ou sans pass je n arrive pas a ouvrir ma base :(:(, seule l authentification se deroule correctemet :(

Posté : 21 juin 2005, 11:31
par waf_wafe
oui je fais "creer un utillisateur", avec ALL PRIVILEGES, et avec ou sans pass je n arrive pas a ouvrir ma base :(:(, seule l authentification se deroule correctemet :(
Attend ou tu vois sa toi dans MySql ?! "creer un utilisateur" :?
Tu as quelle version ?

Posté : 21 juin 2005, 11:35
par meta
dans la page de garde, dans privileges, ya un lien poitant vers "ajouter un utilisateur ", pardon c est pas creer....

et meme en creant un user via commande sql, bah c est le meme probleme . :(
j vois pas ce qui pourrait clocher :(

Posté : 21 juin 2005, 11:40
par MissAube
Pour te connecter à ta base c'est pas dans une table de ta base que tu dois mettre un nouvel utilisateur c'est dans la table "USER" de MySQL, c'est ce que Cyrano a essayé de t'expliquer je crois

Posté : 21 juin 2005, 11:42
par waf_wafe
j'essaye chez moi !

Posté : 21 juin 2005, 11:50
par waf_wafe
Pour te connecter à ta base c'est pas dans une table de ta base que tu dois mettre un nouvel utilisateur c'est dans la table "USER" de MySQL, c'est ce que Cyrano a essayé de t'expliquer je crois
Oui c'est vrai mais de la manière dont il procède fonctionne aussi.

Alors Meta, sache que chez moi sa fonctionne donc l'erreur vient de ton code !! Es-tu sur du mot de passe que tu a rentré ?
Mon code :
<?
   $connect=mysql_connect("localhost","waf","test") or
        die("Impossible de se connecter a la BDD - Contacter l'administrateur : " . mysql_error());
mysql_selectdb("waf_db",$connect) or
        die("Impossible de se table - Contacter l'administrateur : " . mysql_error());
?>
Et sa fonctionne parfaitement !!

:arrow: Partis manger !

Posté : 21 juin 2005, 13:39
par metan
bah ecoutez je ne vois pas ce qui peut clocher,

mon code est celui du haut, la seule chose que j arrive a faire c est :

1. m authentifier avec root sans pass et ouvrir ma base
2. si je cree un user sans pass (dans la base mysql et table user), je peux m authentifier et ouvrir ma base
3. si je cree un user sans pass, je peux m authentifier mais ne peuxd pas ouvrir la base
4. si j ajoute un pass a root, j arrive bien a m authentifier mais je ne peux pas ouvrir ma base/ :-

voila ma page de validation de saisie login/pass :
$pseudo=$_POST['pseudo'];
$password=$_POST['password'];

//connection et authentification
$Connection=mysql_connect("localhost","root","") or die ("error connect");

//Connection à la base reglages
$odb=mysql_select_db("mysql",$Connection) or die ("Base reglages non trouvée");


$query = "SELECT * FROM user WHERE User ='$pseudo' AND password='$password' ";

$result = mysql_query($query); //execute la requete
$row = mysql_fetch_array($result);

if (empty($row)) // si $rowest vide, c'est que la combinaison user/ password est fausse
{
  echo "Votre nom d'utilisateur/mot de";
}
else 
{
	
	$_SESSION['pseudo'] = $row['User'];
	$_SESSION['password'] = $row['password'];


    echo "Votre authentification s'est bien déroulée. <br><br> "  ; 
    echo "<a href=\"index.php\">Cliquez ici pour acceder au menu principal.</a>";
   
}
et voila un bout de ma page index.php, la ou je voudrai ouvrir ma base :
 <?php


$pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:"Inconnu";
$mdp = isset($_SESSION['password'])?$_SESSION['password']:"Inconnu";


if ($pseudo != "Inconnu" && $mdp != "Inconnu")
{
    $Connection = mysql_connect("localhost", $pseudo , $mdp) or die ("error connect");
    $odb = mysql_select_db("reglages",$Connection) or die ("Base reglages non trouvée");


echo "Votre login est ".$pseudo." et votre mot de passe est ".$mdp;




		if ($pseudo = "root")

		{

$sql0= "SELECT DISTINCT modele_annee FROM modele";

je precise que dans ma page de validation je pense a tjs bien verifier ces parazmetres :
$Connection=mysql_connect("localhost","root","") or die ("error connect"); 
donc la je ne vois vraiment pas d ou ca pourrait venir.. :(

si quelqu un aurait une idée, merci d avance de votre precisue aide :)

Posté : 21 juin 2005, 15:00
par Invité
up personne n aurait une petite solution please ??

Posté : 21 juin 2005, 20:37
par meta
argh je n'ai toujours pas trouve d solutions, si quelqu un aurait une idée sur le probleme ce serait simpa d repondre...merci d avance de votre aide. :(:(

Posté : 21 juin 2005, 21:07
par Ripat
Accès refusé pour l'utilisateur: 'root'@'@localhost'
Un peu bizarre le double @@!

Vérifie dans la table user le host de root. Ou bien tu lui mets % pour tout host (sous windows je pense me souvenir que le wild card est différent. A vérifier)