2 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

[PHP] Un espace membre (problème)

 
n°312322
Vergil
Ah oui ?
Profil : Membre premium
profil
Posté le 18-03-2007 à 00:39:11  
answer
 

Bonsoir.
Voila je ne comprend pas ce qui ne va pas dans mon code !
Voila le lien de la page =>> http://chovhal.free.fr/inscription.php
Je n'arrive pas à m'inscrire. C'est à dire que les données ne sont pas envoyer !

Code :
  1. <?php
  2. if (isset($_POST['pseudo']) && isset($_POST['mot_de_passe']) && isset($_POST['confirm_mot_de_passe']) && isset($_POST['mail']))
  3. {
  4. if (!empty($_POST['login']) && !empty($_POST['mot_de_passe']) && !empty($_POST['confirm_mot_de_passe']) && !empty($_POST['mail']))
  5. {
  6.   $login = htmlentities($_POST['login']);
  7.   $pass = htmlentities($_POST['mot_de_passe']);
  8.   $pass_confirm = htmlentities($_POST['confirm_mot_de_passe']);
  9.   $mail = htmlentities($_POST['mail']);
  10.   if ($login != preg_match("#^[A-Za-z0-9_-]{4}$#", $login))
  11.   {
  12.    $erreur = '<font color="red">Les caractéres autorisés sont : [ABCD... abcd... 01234... _ -]. Il dois y avoir au moins 4 caractéres !</font>';
  13.   }
  14.   if ($pass != $pass_confirm)
  15.   {
  16.    $erreur = '<font color="red">Les deux mot de passes ne correspondent pas !</font>';
  17.   }
  18.   if ($mail != preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $mail))
  19.   {
  20.    $erreur = '<font color="red">l\'adresse e-mail que vous avez entré est invalide !</font>';
  21.   }
  22.   if (isset($erreur))
  23.   {
  24.    echo $erreur;
  25.   }
  26.   else
  27.   {
  28.    $base = mysql_connect ('localhost', '******', '******');
  29.    mysql_select_db ('*******', $base);
  30.    $sql = 'SELECT count(*) FROM membres WHERE login="'.addslashes($_POST['login']).'"';
  31.    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  32.    $data = mysql_fetch_array($req);
  33.  
  34.    if ($data[0] == 0)
  35.    {
  36.     $sql = 'INSERT INTO membres VALUES("", "'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['pass'])).'", "'.addslashes($_POST['mail']).'" )';
  37.     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
  38.     session_start();
  39.         $_SESSION['login'] = $_POST['login'];
  40.         header('Location: index.php');
  41.         exit();
  42.    }
  43.  
  44.    else
  45.    {
  46.     $erreur = '<font color="red">Ce pseudo est déjà utilisé !</font>';
  47.    }
  48.   }
  49. }
  50. }
  51. else
  52. {
  53. $erreur = '<font color="red">Tous les champs sont obligatoires !</font>';
  54. }
  55. ?>
  56. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  57. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  58. <head>
  59. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  60. <title>S'inscrire</title>
  61. </head>
  62. <body>
  63. <form action="inscription.php" method="post" >
  64. <p>
  65. Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) { echo stripslashes($_POST['login']); } ?>" /><br />
  66. Mot de passe : <input type="password" name="mot_de_passe" /><br />
  67. Confirmer le mot de passe : <input type="password" name="confirm_mot_de_passe" /><br />
  68. Votre adresse e-mail : <input type="text" name="mail" value="<?php if (isset($_POST['mail'])) { echo stripslashes($_POST['mail']); } ?>" /><br />
  69. <input type="submit" value="Confirmer" />
  70. </body>
  71. </html>


Message édité par Vergil le 18-03-2007 à 00:39:59
n°312341
Antartika
profil
Posté le 18-03-2007 à 08:37:31  
answer
 

Dans ton premier isset il faut mettre login et non pas pseudo

n°312354
Chandlerbi​ng82
OH MY GOD!!!
Profil : Lapin Rose
profil
Posté le 18-03-2007 à 11:36:59  
answer
 

déja je comprends pas trop l'intérêt de vérifie qu'il y ait quelque chose dans tes différents champs pour finalement revérifier que ces mêmes champs ne soient pas vides :x


---------------
Administrateur du forum Vossey.Com
-SdT Fondation & Fils : balayeur diplomé
La Rochelle Belle et Rebelle!!
n°312388
Vergil
Ah oui ?
Profil : Membre premium
profil
Posté le 18-03-2007 à 13:56:55  
answer
 

EN effet j'ai remarqué que j'ai mis pseudo dans le premier isset ! Mais même si j'ai corriger cette erreur je n'arrive toujours pas à m'inscrire !
Aurriez-vous une solution ?
 
chandlerbing82, je pense que isset c'est pour verifier que les variables existent et empty pour verifier si elles ne sont pas vides, dites moi si je me trompe. Je sais pas si c'est utiles mais moi je prefere faire ça.


Message édité par Vergil le 18-03-2007 à 14:10:13
n°312396
Antartika
profil
Posté le 18-03-2007 à 14:17:12  
answer
 

T'as essayé des print "coucou"; dans les if pour voir là où il va exactement ?

n°312397
Vergil
Ah oui ?
Profil : Membre premium
profil
Posté le 18-03-2007 à 14:21:39  
answer
 

Salut.
Je ne pense pas t'avoir compris, tu peux être un peu plus clair?

n°312398
Simcamb
Perturbé
Profil : Modérateur
profil
Posté le 18-03-2007 à 14:22:08  
answer
 

Tu fais des print un peu partout dans ton code pour voir où ça bloque


---------------
Eat the girl.
Fuck the bike.
Sell the pizza.
n°312875
bomber-mar​c
pas l'temps...
profil
Posté le 20-03-2007 à 00:20:06  
answer
 

Antartika a écrit :

T'as essayé des print "coucou"; dans les if pour voir là où il va exactement ?


aaaah, la bonne vieille méthode de debug qu'elle est bien ! J'suis fan [:xdddd]


---------------
GED d- s+: a-- C++(+++) US+> P L+ E--- W++ N+++ o K- w++> ?O M- V- PS PE Y+ PGP t+ ?5 X+ R++ tv-- b++ DI+ D+ G+> e+> h! r-> y+>
PDT club house & Co : FONDATEUR
[g]Le modo a toujours raison...[/
n°312876
Antartika
profil
Posté le 20-03-2007 à 00:44:52  
answer
 

Toi aussi ? :D
 
L'air de rien, je me sens toujours pas très à l'aise avec un débuggeur xD

n°312877
caouecs
Gardien de la forge
Profil : Programmeur
profil
Posté le 20-03-2007 à 01:39:42  
answer
 

Sinon il existe un système de log sous PHP, à la manière du Log4J de Java, c'est bien mieux ;)


---------------
Caouecs
 
Responsable développement Groupe Vossey | VosseyMag
n°312879
BenHur
Restez connectés !
Profil : Administrateur
profil
Posté le 20-03-2007 à 09:13:03  
answer
 

J'ai pas tout regardé mais un conseil en passant : dans ta requête SQL utilises "LIMIT 1", ça aidera.

n°312884
caouecs
Gardien de la forge
Profil : Programmeur
profil
Posté le 20-03-2007 à 10:57:59  
answer
 

BenHur a écrit :

J'ai pas tout regardé mais un conseil en passant : dans ta requête SQL utilises "LIMIT 1", ça aidera.


ça aide en rien, sauf limiter la modification à un seul enregistrement, utile que lorsqu'on a beaucoup d'entrées comme nous ;)


---------------
Caouecs
 
Responsable développement Groupe Vossey | VosseyMag
n°312902
BenHur
Restez connectés !
Profil : Administrateur
profil
Posté le 20-03-2007 à 18:00:23  
answer
 

c'est toujours une bonne habitude à prendre :P


Aller à :
Ajouter une réponse