Impossible de se connecter a la base sur mon systeme virtuel mais en ligne cela

Résolu
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012 - 4 oct. 2011 à 13:52
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012 - 5 oct. 2011 à 16:25
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

lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
5 oct. 2011 à 12:46
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
3
NHenry Messages postés 15118 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mai 2024 159
4 oct. 2011 à 19:24
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
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
4 oct. 2011 à 19:46
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é.
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
5 oct. 2011 à 10:29
SELECT* sans espace entre SELECT et * ça passe ??
Je ne savais pas.
S.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_nemo_1 Messages postés 60 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 26 octobre 2011
5 oct. 2011 à 10:39
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.
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
5 oct. 2011 à 10:51
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
0
cs_nemo_1 Messages postés 60 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 26 octobre 2011
5 oct. 2011 à 11:03
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.
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
5 oct. 2011 à 11:37
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 ?
0
cs_nemo_1 Messages postés 60 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 26 octobre 2011
5 oct. 2011 à 11:50
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 :)
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
5 oct. 2011 à 12:28
l espace entre select et *; cela ne fonctionne pas

Hein ?? Ca veut dire que tu as une erreur quand tu ajoutes un espace ??
S.
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
5 oct. 2011 à 13:05
je pense que non car cela fonctionnait avant ce autre bug
0
cs_nemo_1 Messages postés 60 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 26 octobre 2011
5 oct. 2011 à 14:26
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.
0
lorant59 Messages postés 42 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 14 novembre 2012
5 oct. 2011 à 16:25
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
0
Rejoignez-nous