Se connecter / S'enregistrer
Votre question

Erreur formulaire d'inscription

Tags :
  • Select
  • Programmation
Dernière réponse : dans Programmation
21 Février 2011 21:11:25

Bonjour,

j'ai fait un formulaire d'inscription mais il m'indique une erreur lorsque je valide :

Erreur SQL !
SELECT count(*) FROM membre WHERE login="perok68"
No database selected

Voici le code :

  1. <?php
  2. // on teste si le visiteur a soumis le formulaire
  3. if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
  4. // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
  5. if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
  6. // on teste les deux mots de passe
  7. if ($_POST['pass'] != $_POST['pass_confirm']) {
  8. $erreur = 'Les 2 mots de passe sont différents.';
  9. }
  10. else {
  11. $base = mysql_connect ('localhost', '', '');
  12. mysql_select_db ('nom_base', $base);
  13.  
  14. // on recherche si ce login est déjà utilisé par un autre membre
  15. $sql ='SELECT count(*) as nbre FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
  16.  
  17. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  18. $data = mysql_fetch_array($req);
  19.  
  20. if ($data['nbre'] == 0) {
  21.  
  22. $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
  23. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
  24.  
  25. session_start();
  26. $_SESSION['login'] = $_POST['login'];
  27. header('Location: membre.php');
  28. exit();
  29. }
  30. else {
  31. $erreur = 'Un membre possède déjà ce login.';
  32. }
  33. }
  34. }
  35. else {
  36. $erreur = 'Au moins un des champs est vide.';
  37. }
  38. }
  39. ?>
  40. <html>
  41. <head>
  42. <title>Inscription</title>
  43. </head>
  44.  
  45. <body>
  46. Inscription à l'espace membre :<br />
  47. <form action="inscription.php" method="post">
  48. Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
  49. Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
  50. 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 />
  51. <input type="submit" name="inscription" value="Inscription">
  52. </form>
  53. <?php
  54. if (isset($erreur)) echo '<br />',$erreur;
  55. ?>
  56. </body>
  57. </html>


Merci d'avance,
Cordialement .

Autres pages sur : erreur formulaire inscription

21 Février 2011 21:37:26

modifie :
mysql_select_db ('nom_base', $base);

en
mysql_select_db ('nom_base');

comme tu n'a qu'une connection à un host/login/pass unique, tu n'as pas besoin de spécifier la connection en question lors de la sélection de ta base, sinon il faut que t'as requete soit :

$req = mysql_query($sql,$base) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
m
0
l
22 Février 2011 08:17:40

Toujous le même message d'erreur :( 

Je désespère ....
m
0
l
Contenus similaires
a c 145 L Programmation
22 Février 2011 08:53:04

Il faut bien surveiller ta connexion:
  1. $base = mysql_connect ('localhost', '', '') or die(mysql_error());
  2. mysql_select_db ('nom_base', $base) or die(mysql_error());

Tu verras comme ça si tu arrives à te connecter au serveur et si tu arrives à choisir la base que tu veux utiliser.
m
0
l
22 Février 2011 09:11:53

Ca marche !! Merci !! :) 

Juste une question : dans ma BDD , le champ "id" commence par "2" au lieu de 0 ...
m
0
l
a c 145 L Programmation
22 Février 2011 10:52:50

Parce que tu as du faire des essais et supprimer les enregistrements, le compteur est resté à sa dernière valeur.
Soit tu vides la table avec la requête:
  1. TRUNCATE TABLE `membre`

Ou bien tu réinitialise le compteur:
  1. ALTER TABLE `membre` AUTO_INCREMENT 0
m
0
l
22 Février 2011 17:52:33

Merci ;) 
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS