[Résolu] Problème avec ereg() - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Résolu] Problème avec ereg() (/showthread.php?tid=2330) Pages :
1
2
|
RE: problème avec ereg? - Rouge - 31-01-2008 dans mon script complet, ca ne marche toujours pas, chaque saisie de pseudo affiche le echo du début (les caracteres spéciaux sont interdits) Code PHP :
RE: problème avec ereg? - Anthor - 31-01-2008 Code PHP :
Essayes celui la, je l'ai fait de tête donc non garanti Tu ne pourras pas avoir " et ' avec ereg, car il me semble que certains antislash bug RE: problème avec ereg? - docteur.night - 03-02-2008 Perso, je te conseille fortement d'utiliser preg_match() à la place de ereg(). Pour les raisons suivantes : - les fonctions ereg*() sont beaucoup plus lentes que les équivalents preg*() - les fonctions ereg*() ne seront plus intégrées par défaut dans php6 bref à bon entendeur. RE: problème avec ereg? - Ziliev - 03-02-2008 Effectivement 'faut vivre avec son temps preg_match c'est ca la technologie Personellement je vais aps me risquer à tenter de corriger ton code, t'utilises des facons d'écrire beaucoup trop différentes des miennes, simplement pour ta condition moi je ferais tout bétement ca: Code PHP :
(testé et approuvé) J'ajouterais que mettre un "+" plutot qu'une "*" dans ta regex t'évite de mettre une condition isset sur $_POST['pseudo'], puisque s'il n'est pas set il renverra une chaine vide et une chaine vide ne correspond pas à cette regex. Enfin bon si tu veux faire un message d'erreur "Entrez un pseudo" il va falloir garder le isset, mais bon laisser le + éventuellement. Pour ta regex je sais pas comment marche ereg, m'enfin moi on m'a appris que les regex doivent être délimitées, en plus des guillemets. Personellement j'utilise le "#" comme t'aura pu le constater (et comme conseillé sur le SdZ ^^). Enfin j'te suggére d'ajouter quelques autres caractères dans ta regex, tels que "0-9", "_", "-" (en début ou fin de classe uniquement), "\." (le point il faut l'échapper) et éventuellement quelques accents. Ca me défrise mais malheureusmeent ce genre de caractère plait beaucoup Une piste si ca ne marche toujours pas, essaye de remplacer $_POST['pseudo'] dans ce que je te donne par "stripslashes($_POST['pseudo'])", j'ai déja remarqué que certaines configurations de serveurs ont tendance à slasher automatiquement les informations envoyées en POST, et vu que tu n'autorises pas le slash ca peut entrainer des problèmes si tu teste l'apostrophe. Puisque je suis là j'en profite, dans tes requêtes SQl tu mets le login entre apostrophes, si un de tes visiteurs prend un login avec une apostrophe t'aura une jolie erreur MYSQL (sans parler des possibilités de hackage bien entendu). 'faudrait p'tet addslasher ou utiliser des guillemets doubles ... RE: problème avec ereg? - Rouge - 03-02-2008 Merci pour tous tes conseils, Ziliev, qui me semblent beaucoup plus réalistes que tout ce que j'ai pu lire ici et là (et notamment sur d'autres forums) :heuuu: je vais donc retester tout celà avec calme (ca fait quand meme 1 semaine que je galère avec celà). RE: problème avec ereg? - Rouge - 04-02-2008 Ca y est, enfin le résultat obtenu correspond à ce que je souhaitais. :respect: Code PHP :
|