pb inscription

Eléphant du PHP | 250 Messages

25 sept. 2005, 21:14

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?

Mammouth du PHP | 983 Messages

25 sept. 2005, 21:17

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.

Eléphant du PHP | 250 Messages

28 sept. 2005, 21:49

ca ne fonctionne toujours pas :oops:
je vais recontacter mon hébergeur quand meme, mais il y a 1 truc qui m'échappe là :(

ViPHP
fab
ViPHP | 2657 Messages

28 sept. 2005, 22:59

demande lui les parametres de connexion à la base de donnée mysql. Mais sinon tu chez quel hébergeur ?
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

ViPHP
pjl
ViPHP | 2119 Messages

29 sept. 2005, 00:03

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.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

29 sept. 2005, 11:25

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.

Eléphant du PHP | 250 Messages

24 oct. 2005, 13:45

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?

ViPHP
pjl
ViPHP | 2119 Messages

24 oct. 2005, 13:55

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

Eléphant du PHP | 250 Messages

24 oct. 2005, 14:25

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();
?>


Eléphant du PHP | 250 Messages

24 oct. 2005, 14:28

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:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 oct. 2005, 14:31

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 ...
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
pjl
ViPHP | 2119 Messages

24 oct. 2005, 14:42

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 oct. 2005, 15:12

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:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 250 Messages

24 oct. 2005, 15:26

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 oct. 2005, 15:33

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer