Impossible de se connecter a la base sur mon systeme virtuel mais en ligne cela [Résolu]

Signaler
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012
-
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012
-
bnnjour à tous et à toutes!
jai mon fichier qui permet de valider mon formulaire mais impossible de se connecter à la base lorsque je suis sur mon systeme en virtualisation (vmware) par contre en ligne cela fonctionne.Je me dirige donc vers une erreur de ma base mysql car les identifiant sont bon. Mais je ne vois pas l'erreur.


function validemembre(){
?>






<form action="enregistrementMembre.php" method="post">
Civilité,
Monsieur : 
Madame : 
Mademoiselle : ,

----

Prénom,
">,

----

Nom,
">,

----

Mot de Passe,
">,

----

Mot de Passe,
"> ( Vérification ),

----

Email,
">,

----


</form>


<?php

$sexe=@$_POST['sexe'];
$prenom = @$_POST['prenom'];
$nom = @$_POST['nom'];
$mdp = @$_POST['mdp'];
$mdp2 = @$_POST['mdp2'];
$email = @$_POST['email'];

$err=null;

if(isset($_POST)){
if( empty($_POST['sexe']))  $err.= "vous n'avez pas précisé votre civilité !
";
if( empty($_POST['prenom']) ) $err.= "vous n'avez pas précisé votre prénom !
";
if( empty($_POST['nom']) )    $err.= "vous n'avez pas précisé votre nom !
";

if( empty($mdp) ||(empty($mdp2) ) ) {$err.= "vous n'avez pas précisé votre Mot de passe ou/et celui de Vérification !
";}
elseif( $mdp != $mdp2 ) {
   $err.= "Les mots de passe que vous avez renseigné sont différents - Reformulez-les !
";}



if ( empty($email) ) {
$err.= "vous n'avez pas renseigné votre email !
";}
elseif(!@ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$', $email)){
$err.=  "Le format de votre adresse Email doit être de format correct !
";}

}

/*pas d'erreurs on fait ...*/
if($err==null){


$adb = mysql_connect('localhost', 'admin','lo');
 mysql_select_db('mabase');
 
 $requete mysql_query("SELECT* FROM utilisateurs WHERE nom '".$nom."' and prenom = '".$prenom."'");
$nb=mysql_fetch_row($requete);
if($nb>0){
 echo"ce nom est déja pris";
 exit;}
 
 $requete = mysql_query("SELECT* FROM utilisateurs WHERE email= '".$email."'");
$nb=mysql_fetch_row($requete);
if($nb>0){
 echo"email est déja pris";
 exit;}
 
 $requete ="INSERT INTO utilisateurs values ('".$sexe."','".$prenom."','".$nom."', sha1('".$mdp."'), '".$email."')";
 $resultat =mysql_query($requete);
 if ($resultat){
  echo mysql_affected_rows($adb);
;

 }
else {echo	"
Le service est temporairement indisponible, veuillez nous en excuser !
";
}
 mysql_close($adb);
 }else{
echo "
$err
";   

/*eventuellement une redirection ?*/
} 
 ?>


<?php
}
?>


Il me renvoi donc à echo"le service est temporairement indisponible ...
voici la base:
create database mabase;
use mabase;
create table utilisateurs (sexe text(12), prenom varchar(20), nom varchar(20),mdp varchar(40),email varchar(20), primary key(email) );
insert into utilisateurs values('mademoiselle','lo2','utilisateur2',sha1('mdp' ),'lo2@free.fr' );
grant select on mabase.* 
to 'admin'
 identified by 'lo';
flush privileges;



du coup si quelq un voit mon erreur
car je ne vois plus. j ai reinstaller mon serveur mais l'erreur persiste.
merci d'avance

13 réponses

Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

merci cela fonctionne grace à toi ... je sais pas par contre si en donnant les persission total a root ou à celui que je viens de creer mais en tt cas se fonctionne.Un grand merci
Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonjour,

Je pencherais plus pour une erreur de configuration de ta machine virtuelle si ton serveur MySql ne s'y trouve pas.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

oui c est ce que j ai pensé mais j ai reinstallé mon serveur, refait une machine virtuelle avec serveur apache et le diagnostique reste identique.Par contre j 'ai remarqué que sur les pages perso chez free, il semble est assez ouvert coté identifiant mot de passe etc car si je change le nom de la base de donnée pour crreer un erreur il ne m en met pas . je suis plutot etonné.
Messages postés
2380
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
SELECT* sans espace entre SELECT et * ça passe ??
Je ne savais pas.
S.
Messages postés
60
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
26 octobre 2011

Chalute,

Bon je vais te demander de faire quelques tests

Peux tu pinger ta serveur de tamachine virtuelle?

Quelle est l'erreur qu'il te sort? essaie un echo " Le service est temp... " . mysql_error();

As tu etabli un grant d'accès pour la combinaison user/host? je penche plus que c'est ici ton problème.

J'espère t'avoir aider un peu.

Bon courage.

Cdlt.
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

bonjour,
l espace entre select et *; cela ne fonctionne pas

pour le cote ping serveur si il y aurai un pb avec le serveur je ne pourrais pas acceder a ma base; faire des requettes pour verifier si l email est deja pris , le nom etc ... de plus j ai reinstaller TROIS fois le serveur virtuelle sur une nouvelle installation xp.
un grand d acces ? il ne m indiquerai pas comme erreur quelques chose comme ;no autorisation acces... car de ce cote la cela fonctionne et si je change le mot de passe <>....j ai cette erreur
Messages postés
60
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
26 octobre 2011

Lut,

Ce que je veux te dire quel type d'erreur tu as lors de ta tentative de connexion de ta machine virtuelle?

Les gens font généralement un grant sur le user mais il faut un grant sur le host sinon sans quoi je te vois mal passer en virtualisation.

fais cette commande sur ta machine sans VMWARE SELECT CURRENT_USER() et applique un grant pour la combinaison user/host.

Sinon je ne vois pas d'autres pistes pour t'aider :)

Bon courage.
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

il me donne root@localhost

si j ai bien compris je fais dans la console mysql
use mabase;

grant all
on *
to root@loacahost identified by ''
with grant option;
est ce cela ?
Messages postés
60
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
26 octobre 2011

C'est un très mauvaise idée déjà de te connecter par le root.

Mais bon on va corriger d'abord se problème et après enlève le root de tes accès et crèe toi un user simple.

Après oui ta commande est bonne mais remplace root@localhost > 'root'@'localhost'

Maintenant la question que je me pose faudrait il créer une autre permission du même type avec 'root'@'@ip du serveur mysql' ?

Essaie cela et j' espère que cela va t'aider.

Bon courage :)
Messages postés
2380
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
l espace entre select et *; cela ne fonctionne pas

Hein ?? Ca veut dire que tu as une erreur quand tu ajoutes un espace ??
S.
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

je pense que non car cela fonctionnait avant ce autre bug
Messages postés
60
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
26 octobre 2011

Bravo :)

Par contre modifie ton code de suite si tu le peux.

Crée un nouveau user mysql et n'accorde pas tous les privileges à un user.

C'est très risqué donne à ton user que ce qu'il doit avoir pas plus.

Après au plaisir de t'aider pour d'autres problèmes :)

Ciao.
Messages postés
42
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
14 novembre 2012

oui je le sais sauf que je suis en phase de developpement et surtout j apprend le php en creant un site.Sur mon systeme virtuel; il n a pas de danger par contre lorsqu il sera en ligne ,c est évident.
MERCi a toi
ciao
lau