Résolu Unknown

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
J'ai aussi trouvé ceci concernant l'email jsp si sa peut servir enfaite:
if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {

ça c'est pour vérifier si une email est valide ^^

Puis j'ai trouvé ça pour toi :

if(preg_match("/[A-Za-z0-9]+/", $pseudo) == TRUE){
le pseudo contient uniquement des lettres et chiffres
}
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
Nah ses pas normal sa ne fonctionne pas si je mais genre theo@!. sa me met que le pseudo est déjà pris pourtant je n'est aucune erreur la ses sur et certains tu veux voir le code actuel ?

Tu as bien remplacé la variable $pseudo que j'ai mis par celle du pseudo rentré ? sans le filtrage ça fonctionne ou pas ?
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
Je peux pas trouver le soucis si tu n'organises pas ton code un minimum, là on ne comprend rien, fais un truc propre et clair qu'on voit quelle condition se termine où etc.. et fais le filtrage avant de vérifier le pseudo, et vide ta table membre x)
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
Sa devrait aller la :) sinon voila ce que sa donne
PHP:
<?php

include './config.php';

$captcha=rand(0,999999);

if(isset($_POST['submit'])) {

  $pseudo = $_POST['username'];
  $email = $_POST['mail'];
  $motdepasse = $_POST['password'];
  $remotdepasse = $_POST['repassword'];
  $captcha_verif = $_POST['captcha_verif'];
  $captcha_code = $_POST['captcha_code'];
//$verifmail = preg_match("/^[a-z0-9_\.-]+@([a-z0-9]+([\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i", $email);

  $selectuser = $bdd->prepare("SELECT id FROM users WHERE username = :username LIMIT 1");
  $selectuser->execute(array(':username' => $pseudo));
  $selectmail = $bdd->prepare("SELECT id FROM users WHERE mail = :mail LIMIT 1");
  $selectmail->execute(array(':mail' => $email));
  $selectip = $bdd->prepare("SELECT id FROM users WHERE ip_last = :ip_last LIMIT 1");
  $selectip->execute(array(':ip_last' => $_SERVER['REMOTE_ADDR']));

  if(!empty($_POST['username']) AND !empty($_POST['mail']) AND !empty($_POST['password']) AND !empty($_POST['repassword']) AND !empty($_POST['captcha_code'])) {
    if($selectuser->rowCount() == 1){
      if(preg_match("/[A-Za-z0-9]+/", $pseudo) == true){
        if($selectmail->rowCount() == 1){
          if($selectip->rowCount() == 1){
            if(strlen($pseudo) <= 24){
              if(strlen($pseudo) > 1){
                if($motdepasse == $remotdepasse){
                  if(strlen($motdepasse) > 6){
                    if(strlen($email) > 6){
                      if($captcha_code == $captcha_verif){

                        $mdp = sha1($motdepasse);

// INSERTION DES MEMBRES ICI //

                        $_SESSION['username'] = $pseudo;
                        $_SESSION['password'] = $mdp;
                        Redirect(''.htmlspecialchars($settings['url']).'/me');
                      } else {
                        $message = "Le captcha n'est pas valide !";  
                      }
                    } else {
                      $message = "Votre adresse e-mail est trop courte (minimum 6 caractères) !";
                    }
                  } else {
                    $message = "Votre mot de passe est trop court (minimum 6 caractères) !";
                  }
                } else {
                  $message = "Vos mots de passe ne correspondent pas !";
                }
              } else {
                $message = "Votre pseudo est trop court (minimum 1 caractères) !";  
              }
            } else {
              $message = "Votre pseudo est trop long (maximum 24 caractères) !";  
            }
          } else {
            $message = "Les doubles comptes ne sont pas autorisés !";  
          }
        } else {
          $message = "Votre adresse e-mail est déjà utilisé par quelqu'un d'autres !";
        }
      } else {
        $message = "Votre pseudo contient des caractères non-autorisés !";
      }
    } else {
      $message = "Votre pseudo est déjà utilisé par quelqu'un d'autres !";
    }
  } else {
    $message = "Merci de remplir les champs non remplis !";
  }
}
?>

Fais des var_dump, à vu de nez je vois pas le soucis x)
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
Sa m'affiche ceci:
string(4) "Test"
Votre adresse e-mail est déjà utilisé par quelqu'un d'autres !

Voila le bout de code:
if($selectuser->rowCount() == 1){
var_dump('Test');


Je ses pas si sa viens du filtre ou jsp du tout..
Mais j'ai que des messages d'erreurs du type (Votre pseudo est déjà utilisé par quelqu'un d'autres !)
Alors que de badge j'aurais du avoir (Les doubles comptes ne sont pas autorisée)
Ou alors l'adresse email et déjà prise mais j'ai que votre pseudo est déjà utilisé..

Franchement je ses plu quoi faire enfaite..

Stop les doubles posts, et je t'avoue que je sais pas, et j'ai pas trop le temps ce soir de regarder bien et de tester .. :/
 
Cette réponse a aidé l'auteur de cette discussion !
Haut