Page 1 sur 1

petit soucis d'inscription

Posté : 20 juin 2007, 21:26
par Invité
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="";

Posté : 20 juin 2007, 22:22
par Invité
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 :)

Posté : 21 juin 2007, 15:06
par Ryle
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 ;)