Probleme de table

Signaler
Messages postés
101
Date d'inscription
dimanche 26 septembre 2010
Statut
Membre
Dernière intervention
31 juillet 2017
-
Messages postés
101
Date d'inscription
dimanche 26 septembre 2010
Statut
Membre
Dernière intervention
31 juillet 2017
-
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

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
101
Date d'inscription
dimanche 26 septembre 2010
Statut
Membre
Dernière intervention
31 juillet 2017

Bonjour,

Maintenant il y a

Erreur SQL !
SELECT count(*) FROM membre WHERE login="jbq32"
Unknown column 'login' in 'where clause'
Messages postés
101
Date d'inscription
dimanche 26 septembre 2010
Statut
Membre
Dernière intervention
31 juillet 2017

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>
Messages postés
240
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
19 juillet 2012
2
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 ?
Messages postés
101
Date d'inscription
dimanche 26 septembre 2010
Statut
Membre
Dernière intervention
31 juillet 2017

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,