A voir également:
- Comment empêcher l utilisateur d employer un pseudo avec un espace
- Espace insécable - Guide
- Espace de stockage gmail plein - Guide
- Comment utiliser un chromecast - Guide
- Pseudo whatsapp - Accueil - Messagerie instantanée
- Espace stockage google - Guide
6 réponses
Bonjour
Plusieurs solutions possibles
Soit tu utilises une regex afin de définir les caractères autorisés
Soit, tu vérifies si il y a un espace dans la chaîne de texte... en utilisant par exemple strpos ou str_contains dans un if.
Tu pourrais également faire ce genre de vérification côté JavaScript.
Plusieurs solutions possibles
Soit tu utilises une regex afin de définir les caractères autorisés
Soit, tu vérifies si il y a un espace dans la chaîne de texte... en utilisant par exemple strpos ou str_contains dans un if.
Tu pourrais également faire ce genre de vérification côté JavaScript.
merci pour vos réponses
cote javascript ca sera pas pour moi
déjà que le php c est limite
je vais donc voir avec un if
et une deux solutions proposées
Soit tu utilises une regex afin de définir les caractères autorisés
Soit, tu vérifies si il y a un espace dans la chaîne de texte... en utilisant par exemple strpos ou str_contains dans un if.
cote javascript ca sera pas pour moi
déjà que le php c est limite
je vais donc voir avec un if
et une deux solutions proposées
Soit tu utilises une regex afin de définir les caractères autorisés
Soit, tu vérifies si il y a un espace dans la chaîne de texte... en utilisant par exemple strpos ou str_contains dans un if.
que pensez vous de ceci
<?php session_start(); error_reporting(E_ALL); ini_set('display_errors', true); ini_set('display_startup_errors', true); ?> <?php // je me connecte a la base de donnee require_once 'base.php'; //si tous est ok alors on passe a l inscription if (!empty($_POST['pseudo']) && !empty($_POST['email']) && !empty($_POST['password']) && !empty($_POST['password_retype'])) { $password = ($_POST['password']); $password_retype = ($_POST['password_retype']); //preparation des variables propres $pseudo = !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL; $email = !empty($_POST['email']) ? $_POST['email'] : NULL; //préparation de la requête et des variables afin de verifier si l email est present dans la table $sql = "SELECT pseudo, email, password FROM utilisateurs WHERE email = ?"; $datas = [$email]; //Execution de la requete try { $requete = $bdd->prepare($sql); $requete->execute($datas); } catch(Exception $e) { // en cas d'erreur : echo " Erreur ! " . $e->getMessage(); echo " Les datas : "; print_r($datas); } $data = $requete->fetch(); $row = $requete->rowCount(); if ($row == 0) { //préparation de la requête et des variables afin de verifier si le pseudo est present dans la table $sql = "SELECT pseudo, email, password FROM utilisateurs WHERE pseudo = ?"; $datas = [$pseudo]; //Execution de la requete try { $requete = $bdd->prepare($sql); $requete->execute($datas); } catch(Exception $e) { // en cas d'erreur : echo " Erreur ! " . $e->getMessage(); echo " Les datas : "; print_r($datas); } $data = $requete->fetch(); $row = $requete->rowCount(); //on verifie que le pseudo n est pas present if ($row == 0) { //on verifie que le pseudo fais moins de 40 caractere if (strlen($pseudo) <= 40) { //on verifie que le email fais moins de 40 caractere if (strlen($email) <= 40) { if(preg_match('/[^a-z_\-0-9]/i', $string))//on verifie les caracteres { if (filter_var($email, FILTER_VALIDATE_EMAIL)) //on verifie que c est bien une email { if ($password == $password_retype) { //on verifie que le pasword retape correpond bien au passord $cost = ['cost' => 12]; $password = password_hash($password, PASSWORD_BCRYPT, $cost); $ip = $_SERVER['REMOTE_ADDR']; $insert = $bdd->prepare('INSERT INTO utilisateurs(pseudo, email, password, ip, token) VALUES(:pseudo, :email, :password, :ip, :token)'); $insert->execute(array( 'pseudo' => $pseudo, 'email' => $email, 'password' => $password, 'ip' => $ip, 'token' => bin2hex(openssl_random_pseudo_bytes(24)) )); header('Location:redirection-inscription.php?reg_err=success'); die(); } else { header('Location: inscription.php?reg_err=password'); die(); } } else { header('Location: inscription.php?reg_err=email'); die(); } } else { header('Location: inscription.php?reg_err=caractere'); die(); } } else { header('Location: inscription.php?reg_err=email_length'); die(); } } else { header('Location: inscription.php?reg_err=pseudo_length'); die(); } } else { header('Location: inscription.php?reg_err=already'); die(); } } else { header('Location: inscription.php?reg_err=already'); die(); } }
merci pour l aide
oui en effet je vais le supprimer
car je n en vois pas l utilité
par contre mon code ne fonctionne pas
si j indique par exemple comme pseudo
azerty
c est refusé il m indique que je rentre un caractère non autorise a mon avis c est surement les espaces après les lettres
oui en effet je vais le supprimer
car je n en vois pas l utilité
par contre mon code ne fonctionne pas
si j indique par exemple comme pseudo
azerty
c est refusé il m indique que je rentre un caractère non autorise a mon avis c est surement les espaces après les lettres
B'jour,
Ta regex est mauvaise.
Je pourrais te donner la version corrigée, mais il faudrait que tu essaies d'abord de comprendre le souci.
Donc va sur https://regex101.com, pour tester ta regex.
Ta regex est mauvaise.
Je pourrais te donner la version corrigée, mais il faudrait que tu essaies d'abord de comprendre le souci.
Donc va sur https://regex101.com, pour tester ta regex.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonsoir Pyraah
merci pour ton aide
apparemment
ca serait comme ceci
car je n ai aucune erreur
avec ceci
merci pour ton aide
apparemment
ca serait comme ceci
if(preg_match('[^a-z_\-0-9]i'))
car je n ai aucune erreur
avec ceci
'[^a-z_\-0-9]i'
mais cela ne fonctionne pas
quoi que je puisse entrer comme pseudo j ai l erreur qui apparaît comme quoi qu il y a un caractère invalide
quoi que je puisse entrer comme pseudo j ai l erreur qui apparaît comme quoi qu il y a un caractère invalide
Merciiii Pyraah
c est top gentil
voila cela fonctionne
je vais m entrainer avec
https://regex101.com/
c est top gentil
voila cela fonctionne
if(preg_match('/^[a-z_\-0-9]+$/i', $pseudo))//on vérifie les caractères
je vais m entrainer avec
https://regex101.com/
tout en sachant que le site ne peut pas faire confiance au JavaScript.
Tu fais la verif en javascript pour éviter d'avoir à transmettre le formulaire au serveur si il n'est pas conforme...
Et si tu sembles ok tu transmets au serveur côté PHP et bien entendu tu reviens vers hifi pour t'assurer que tout est toujours bon