Résolu Unknown

WellKoopa

Le roi des Koopas
Premium
Inscription
17 Octobre 2014
Messages
540
Réactions
34
Points
11 630
RGCoins
0
Unknown
 
Dernière édition:

✝Chipeur

Lobby Call Of Duty / Gta5
Premium
Inscription
6 Août 2013
Messages
2 002
Réactions
646
Points
8 474
RGCoins
0
J'ai aussi trouvé ceci concernant l'email jsp si sa peut servir enfaite:
if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
A toi de voir essaye déjà a part et dès que tu as compris le fonctionnement tu modifie ton code ;)
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 712
Réactions
8 501
Points
32 425
RGCoins
0
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 712
Réactions
8 501
Points
32 425
RGCoins
0
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 712
Réactions
8 501
Points
32 425
RGCoins
0
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 712
Réactions
8 501
Points
32 425
RGCoins
0
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 712
Réactions
8 501
Points
32 425
RGCoins
0
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