pb avec espace membre

Eléphant du PHP | 94 Messages

23 mai 2010, 09:00

salut à tous, (pour info j'ai créé un autre topic car l'ancien ne correspondait plus à mes attentes) :roll:
je désespère un peu pour la création d'un formulaire d'inscription j'ai trouvé un code sur lephpfacile qui correspond à mes attentes sauf que j'ai des messages d'erreurs et étant débutant et malgré des prises de tête je comprends pas ce qui pose pb.

j'ai pris les codes sur le php facile si joint le lien :http://www.lephpfacile.com/howto/10-com ... -en-php#h7

par avance merci pour votre aide.


cela me donne l'erreur suivante :
Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: Hôte inconnu. in C:\wamp\www\inscription.php on line 11

Warning: mysql_connect() [function.mysql-connect]: [2002] php_network_getaddresses: getaddrinfo failed: Hôte inconnu. (trying to connect via tcp://serveur:3306) in C:\wamp\www\inscription.php on line 11

Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: Hôte inconnu. in C:\wamp\www\inscription.php on line 11

Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\wamp\www\inscription.php on line 12

Warning: mysql_query() [function.mysql-query]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\wamp\www\inscription.php on line 15

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\inscription.php on line 15
Erreur SQL !
SELECT count(*) FROM membre WHERE login="ttt"
Access denied for user 'SYSTEM'@'localhost' (using password: NO)




et voici le code utilisé



<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('serveur', 'login', 'password');
mysql_select_db ('nom_base', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Inscription</title>
</head>

<body>
Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>

Eléphant du PHP | 94 Messages

23 mai 2010, 09:08

voilà j'avais oublié de modifier le chemin d'accès à la bdd.

$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('membre', $base);

ci dessus la modif,

maintenat il me met ce message :Erreur SQL !
SELECT count(*) FROM membre WHERE login="rrrr"
No database selected

qu'est ce que cela signifie

par avance merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 mai 2010, 11:10

No database selected

qu'est ce que cela signifie
Cela veut dire qu'aucune base de données n'a été sélectionné. En gros, il s'est bien connecté à Mysql cette fois, mais il ne trouve pas la base de données dans laquelle il va pouvoir exécuter ta requête...

Lorsque tu fais appel à mysql_select_db ('membre', $base), est ce que "membre" est bien le nom de la "base de données" et pas seulement celui de la table où se trouvent tes membres ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 94 Messages

23 mai 2010, 20:57

merci pour votre réponse.

ma bdd s'appelle :espace

mysql_select_db ('espace', $base);

maintenant cela fonctionne. encore mille merci.