Probleme de table

jbquentin Messages postés 101 Date d'inscription dimanche 26 septembre 2010 Statut Membre Dernière intervention 31 juillet 2017 - 17 sept. 2010 à 21:03
jbquentin Messages postés 101 Date d'inscription dimanche 26 septembre 2010 Statut Membre Dernière intervention 31 juillet 2017 - 22 sept. 2010 à 16:19
Bonjour,

Je suis en train de faire un test d'inscription, pour voir si j'arrive a faire une page inscription, mot de passe, login etc...

Mais j'ai un problème. Quand je lance localhost, je met mon login et mot de passe, j'appuie sur accepter sa me met sa.


Erreur SQL !
SELECT count(*) FROM membre WHERE login="jbquentin"
Table 'test.membre' doesn't exist




Ma page inscription.php
<?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 ('localhost', 'root', '');
mysql_select_db ('test', $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 !
'.$sql.'
'.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.'
'.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>


Inscription à l'espace membre :

<form action="inscription.php" method="post">
Login : ">

Mot de passe : ">

Confirmation du mot de passe : ">


</form>
<?php
if (isset($erreur)) echo '
',$erreur;
?>

</html>



Evidemment ce n'est que la page inscription.php
car c'est la ou est le probleme.




Merci d'avance

5 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
17 sept. 2010 à 21:15
Salut,

L'erreur est explicite :
Table 'test.membre' doesn't exist

... la table membre n'existe pas dans la base de donnée test.



Par ailleurs attention à la fonction mysql_escape_string(), elle est dépréciée et génère une alerte dans les dernières versions de PHP. Utilise plutôt mysql_real_escape_string().

Non pas que ça ne fonctionnera pas, mais tu devrais sortir toute fonction PHP de ta requête, tu y gagnerai en lisibilité et faciliterait les éventuels débogages.

$login = mysql_real_escape_string($_POST['login']);
$sql = 'SELECT count(*) FROM tableQuiExiste WHERE login="'.$login.' ...;



Cordialement,


Kohntark -
0
jbquentin Messages postés 101 Date d'inscription dimanche 26 septembre 2010 Statut Membre Dernière intervention 31 juillet 2017
19 sept. 2010 à 11:21
Bonjour,

Maintenant il y a

Erreur SQL !
SELECT count(*) FROM membre WHERE login="jbq32"
Unknown column 'login' in 'where clause'
0
jbquentin Messages postés 101 Date d'inscription dimanche 26 septembre 2010 Statut Membre Dernière intervention 31 juillet 2017
19 sept. 2010 à 11:57
J'ai réglé ce problème mais maintenant quand j'essaye de me connecter il y a

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'login'@'localhost' (using password: YES) in C:\wamp\www\index.php on line 6

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

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

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




index.php
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

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

// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data = mysql_fetch_array($req);

mysql_free_result($req);
mysql_close();

// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Accueil</title>
</head>


Connexion à l'espace membre :

<form action="index.php" method="post">
Login : ">

Mot de passe : ">


</form>
[inscription.php Vous inscrire]
<?php
if (isset($erreur)) echo '

',$erreur;
?>

</html>
0
Lyle56 Messages postés 240 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 19 juillet 2012 2
20 sept. 2010 à 10:25
Warning: mysql_connect() : Access denied for user 'login'@'localhost' (using password: YES) in C:\wamp\www\index.php on line 6 

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


ces 2 erreurs viennent de ses ligne la :

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

Tu dit ici que tu veut te connecter sur le serveur localhost avec comme nom d'utilisateur : login et mot de passe : membre et que tu veut lisre la table localhost...

C'est bien les bonnes informations ?
0

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

Posez votre question
jbquentin Messages postés 101 Date d'inscription dimanche 26 septembre 2010 Statut Membre Dernière intervention 31 juillet 2017
22 sept. 2010 à 16:19
Bonjour,
Oui, merci je l'ai fait.
Par contre quand j'essaye de me connecter il y a ceci :


Internet Explorer ne peut pas afficher cette page Web
et aussi,
Apache HTTP Server a cessé de fonctionner et a été arreté.


Merci,
0
Rejoignez-nous