Page 1 sur 1

pb inscription

Posté : 25 sept. 2005, 21:14
par YVES
Voilà, j'ai un script qui fonctionne CORRECTEMENT en mode local sous easy php, etc.... pour q'un membre s'isnscrive sur mon site. le problème rencontré chez mon hébergeur est que ledit script ne marche plus :(

voici le mess d'erreur affiché chez mon hébergeur:

Erreur de connexion Access denied for user 'root'@'localhost' (using password: NO)

Je lui ai posé la meme question: il m'a répondu qu'il fallait changer les parametres de mon fichier config (login(root) et passe...)
le pb, c'est que ce qu'il m'indique sont les paramètres en tant qu'admin du site, et non les paramètres qu'un éventuel visiteur pourrait rentrer.....

Quelqu'un aurait-il une idée, svp?

Posté : 25 sept. 2005, 21:17
par rami
Le problème se situe au niveau des paramètres de connexion à ta base de données. Tu as laissé les paramèters de la configuration locale. Change ces paramètres par ceux que ton hébergeur t'as donné et ca marchera.

Posté : 28 sept. 2005, 21:49
par YVES
ca ne fonctionne toujours pas :oops:
je vais recontacter mon hébergeur quand meme, mais il y a 1 truc qui m'échappe là :(

Posté : 28 sept. 2005, 22:59
par fab
demande lui les parametres de connexion à la base de donnée mysql. Mais sinon tu chez quel hébergeur ?

Re: pb inscription

Posté : 29 sept. 2005, 00:03
par pjl
Je lui ai posé la meme question: il m'a répondu qu'il fallait changer les parametres de mon fichier config (login(root) et passe...)
le pb, c'est que ce qu'il m'indique sont les paramètres en tant qu'admin du site, et non les paramètres qu'un éventuel visiteur pourrait rentrer.....
C'est normal.
Un visiteur n'a pas à saisir les paramètres permetttant d'accèder à la base de données.
Ce sont les script PHP qui accèdent à la base, pas les visiteurs.

Posté : 29 sept. 2005, 11:25
par mere-teresa
Tu dois avoir les paramètres de connexion avec nom du serveur, nom d'utilisateur (ça m'étonnerait que ce soit root chez ton hébergeur) et mot de passe.

Posté : 24 oct. 2005, 13:45
par YVES
Donc, dans mon config_script.php, j'ai bien mis les parametres d'acces sql fournis par mon hébergeur, mais si queqlu'un veut s'inscrire sur le site, cela ne fonctionne toujours pas.

la seule inscription qui marche, c'est seulement si je m'inscris EN TANT qu'admin et en utilisant les parametres d'acces sql (ca c'est logique mais pour le reste :? , je dois etre bete car quelque chose m'échappe)

Si un nouveau venu veut donc s'inscrire, l'acces a la base de données ne se fait pas et l'inscription n'est pas prise en compte....

Comment interfacer/relieer les pseudos et passe d'éventuels visiteurs/membres qui voudraient s'inscrire avec les parametres officiels sql (localhost, login et passe) qui sont en dur :shock:
est-ce aussi un champs a modifier dans table Membres?

Posté : 24 oct. 2005, 13:55
par pjl
pas de code, pas de structure de la BDD, comment peux-tu espérer une réponse ?

en attendant, lis ceci : http://www.phpdebutant.org/article47.php

Posté : 24 oct. 2005, 14:25
par YVES
voici mon config_script
<?php
$host = "localhost";
$login = "xxxxxx";
$passe = "yyyyyy";
$db = 'zzzzzz';
?>
voici mon script de verif inscription
<?php
include_once("config_script.php");
// On commence par récupérer les champs
if(isset($_POST['pseudo']))$login=addslashes($_POST['pseudo']);
else $login="";
if(isset($_POST['passe']))$passe=htmlentities($_POST['passe']);
else $passe="";
// On vérifie si les champs sont vides
if(empty($login) OR empty($passe))
    {
    echo '<font face="Calligraph421 BT"> Attention ! Tous les champs ne sont pas correctement renseignés.</font>';
    }
// on se connecte à MySQL
       // connexion à la base
$db= mysql_connect($host,$login,$passe) or die("Impossible de se connecter à la base de données"); 	   
// sélection de la base  
 mysql_select_db('medielan',$db)  or die('Erreur de selection '.mysql_error());
 // on regarde si le type existe déjà
$req = mysql_query("select * from membres where pseudo='". $login ."'",$db)or die(mysql_error());
    // on compte le nombre de résultats
    $res = mysql_num_rows($req); 
    if($res==0)  // le pseudo n'existe pas, on affiche un message d'erreur
        {
        echo '<center><font color="red">Erreur de pseudo et/ou mot de passe<br> SINON, VEUILLEZ PASSER PAR LA PAGE INSCRIPTION</font>';
        }
   else {
    session_start();
    $_SESSION['login'] = $login;
    

        {    	
header("Location: page_membre.php");
}
mysql_close();
?>


Posté : 24 oct. 2005, 14:28
par YVES
ai rajouté le session start (mais ca n'est pas le plus important je pense), je ne comprends pas comment les parametres d'un nouveau membre peuvent etre pris en compte si celui ci ne rentre pas les valeurs de config_script (xxxxxx, yyyyyy, zzzzzz) :cry:

Posté : 24 oct. 2005, 14:31
par zeus
normalement, ces valeurs sont fixes et permettent un accès soit tout le temps, soit jamais ...

Tu n'as pas à demander aux visiteurs de saisir leurs identifiants à la BDD

Mais j'aimerais savoir si ta base contient un autre enregistrement que celui qui te permet de te connecter en tant qu'admin ...

Posté : 24 oct. 2005, 14:42
par pjl
Dans ton code, tu fais :
$host = "localhost";
$login = "xxxxxx";
$passe = "yyyyyy";
$db = 'zzzzzz'; 
// On commence par récupérer les champs
if(isset($_POST['pseudo']))$login=addslashes($_POST['pseudo']);
else $login="";
if(isset($_POST['passe']))$passe=htmlentities($_POST['passe']);
else $passe=""; 
Tu donnes une valeur à tes variables $login et $password et ensuite cette valeur change.

Pas étonnant que tu n'arrives pas à te connecter à ta base de données.

Posté : 24 oct. 2005, 15:12
par zeus
pétard :shock: j'avais pas vu :?

C'est clair que vu comme ça, il n'y a qu'en tant que root, que tu pouvais te connecter :lol:

Posté : 24 oct. 2005, 15:26
par YVES
ca y est, j'ai trouvé!
J'ai viré mon config_script.php et ai mis dans le script d'authentification les valeurs sql de connexion en direct, et enfin cela marche. :shock:
Plus c'est évident, plus on passe du temps à chercher :o

Posté : 24 oct. 2005, 15:33
par zeus
Il est déconseillé de mettre les identifiants de connection directement dans les scripts pour diverses raisons (sécurité, évolutions, ...)

Il suffit de garder ton fichier mais en modifiant soit le nom des variables qui vont recevoir les identifiants de connection, soit des variables qui contiennent les identifiants des visiteurs

La raison est que comme elles portaient le même noms, elles s'écrasaient les unes les autres