petit soucis d'inscription

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : petit soucis d'inscription

par Ryle » 21 juin 2007, 15:06

Tous les caractères spéciaux sont autorisés par défaut.. ta base de données contient un champ varchar qui accepte les caractères que tu lui donnes. La seule contrainte est lors de l'exécution de ta requête, il faut protéger les apostrophes/guillemets (avec la directive magic_quotes ou les fonctions addslashes, mysql_escape...) pour éviter des erreurs sql

Les deux lignes de code que tu nous montre ne font qu'une seule chose, c'est protéger les apostrophes/guillemets. Il n'y a pas d'insertion en base, de comparaison ou quoi que ce soit d'autre : elle récupère la donnée $_POST['pseudo'], elle protège les caractères spéciaux pour les conserver, et elle affecte le tout à la variable $login, ça s'arrête là :)

En revanche, sur ta 2ème ligne, tu as une erreur de syntaxe que php aurait du te signaler... compte le nombre de parenthèses, tu verras qu'elles ne sont pas équilibrées ;)

par Invité » 20 juin 2007, 22:22

celà bien sur si on rentre un pseudo du genre " dédé d'Anvers" ou bien "Joe l'élégant"

avec un pseudo basique sans accent ni apostrophe le addslashes fonctionne tres bien :)

petit soucis d'inscription

par Invité » 20 juin 2007, 21:26

Bonjour,

je voulais juste savoir ce qu'il faut mettre en paramètres pour qu'une inscrition de membre accepte les caractères spéciaux du genre ' ou - ou encore é

la première ligne de code testée ci dessous enregistre bien le membre en base de données mais ensuite lors de l'authentification, retourne un message d'erreur;
la seconde ligne affiche une page blanche et ne met rien en db.
if(isset($_POST['pseudo']))$login = mysql_real_escape_string($_POST['pseudo']);
if(isset)($_POST['pseudo'])) $login= addslashes($_POST['pseudo']);
else $login="";