Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Site Web > PHP > Vos Fonctions ou astuces > Lecture du sujet

Vos Fonctions ou astuces

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  ...  63  64  65  66  67  68  69  ...  97  98  99  100  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  ...  63  64  65  66  67  68  69  ...  97  98  99  100  Suivante
Hors ligne JaKhris # Posté le 16/01/2008 à 15:10:17
Wait & See
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Et bien, ça te dupliquera en quelque sorte chaque valeur, avec sa clé numérique et associative, donc c'est légèrement inutile, sauf si biensûr on travaille avec les index numériques. ;)
C'est toujours ça de gagné si tu utilises assoc. ;)

Mes sites : JAKPRO ~ URPRO ~ page Flickr
XHTML, CSS, JS, PHP, MySQL, Graphics, Music & Video Games : This is living ! =D
 
Hors ligne anonyme # Posté le 16/01/2008 à 15:11:54
Groupe :
Citation : Taiotoshi
`Haku, merci pour ce lien. Je vais relire leurs pages sur les Regex et tenter de comprendre la formule. :p

Si tu t'intéresses aux regex je ne peux que te conseiller cette page en plus d'expreg : http://lumadis.be/regex/tuto_pcre.php
Hors ligne Taiotoshi # Posté le 16/01/2008 à 15:24:58
Hey mon ami !
Avatar
Groupe : Membres
Jahkris : oui je m'en doutais un peu en fait. Je récupère A et B alors que je n'utilise que A, forcément, je peux modifier mon code pour ne récupérer que A. ^^

Citation : Taiotoshi
Cela dit, un truc me chiffonne : pourquoi mettre ".+?" ? L'association "+?" ne revient-elle pas à "*" ? Est-ce que j'ai raté qlq chose ? o_O

Je me cite pour reprendre une question dans mon précédent message, car je n'ai pas trouvé de réponse entre temps...
J'apprécie votre réactivité en tout cas :p !

Projet actuel :
Site Familial avec une belle généalogie dynamique, présentable sur une page internet et facilement adaptable à tout type de situation, et qui sert le café, et qui fait la vaisselle...
Commandement # 32 :
Pour assurer aux dépanneurs, une lecture sans heurt,
Ton code, tu indenteras; et leur bonheur, tu feras. :-°
La suite
 
Hors ligne anonyme # Posté le 16/01/2008 à 15:33:55
Groupe :
C'est pour rendre la capture non-gourmande.
Regarde la différence entre les résultats de ces deux instructions :
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2.  
  3. echo preg_replace('`<gras>(.+)</gras>`', '<strong>$1</strong>', '<gras>lala<gras>lili</gras>lulu</gras>');
  4. echo preg_replace('`<gras>(.+?)</gras>`', '<strong>$1</strong>', '<gras>lala<gras>lili</gras>lulu</gras>');
  5.  
  6. ?>


Dans le premier cas, la capture est gourmande, càd qu'elle s'arrêtera à la dernière occurrence de </gras>.
Dans le second cas, la capture est non-gourmande, càd qu'elle s'arrêtera à la première occurence de </gras>.
Hors ligne Talus # Posté le 16/01/2008 à 17:23:42
タルス
Avatar
Groupe : Membres
Taiotoshi > Et à l'entrée, tu fais quoi ? :p

C'est plus lourd pour la BDD de stocker des caractères htmlentitisé. Et puis si tu travailles en ISO, t'en a pas besoin... Si t'es en UTF8, utf8_encode alors... :p
 
Hors ligne Taiotoshi # Posté le 16/01/2008 à 18:45:39
Hey mon ami !
Avatar
Groupe : Membres
Citation : Talus
Taiotoshi > Et à l'entrée, tu fais quoi ? :p

C'est plus lourd pour la BDD de stocker des caractères htmlentitisé. Et puis si tu travailles en ISO, t'en a pas besoin... Si t'es en UTF8, utf8_encode alors... :p

Si c'est juste une question de taille de base, mon site est un site familial et donc à traffic relativement faible.

Et je me demande si dans ce cas, je ne peux pas exclure le ";" des caractères indiquant une fin de mot. Ca donnerait :
return preg_replace_callback ('`\b.+?\b[^;]`', 'uc', strtolower($str));
Ou un truc du genre, non ? Comme ça, mes codes types &eacute; ou autre &#39; ne seraient pas touchés pas la regex, sauf à être en début de patronyme... :euh:
Édité le 16/01/2008 à 18:46:31 par Taiotoshi

Projet actuel :
Site Familial avec une belle généalogie dynamique, présentable sur une page internet et facilement adaptable à tout type de situation, et qui sert le café, et qui fait la vaisselle...
Commandement # 32 :
Pour assurer aux dépanneurs, une lecture sans heurt,
Ton code, tu indenteras; et leur bonheur, tu feras. :-°
La suite
 
Hors ligne Talus # Posté le 16/01/2008 à 19:17:10
タルス
Avatar
Groupe : Membres
Mais je te l'ai dit, que t'emmerdes tu à utiliser htmlentities pour rien ? A quoi te sert-il ?
Édité le 16/01/2008 à 19:18:20 par Talus
 
Hors ligne Taiotoshi # Posté le 17/01/2008 à 01:35:27
Hey mon ami !
Avatar
Groupe : Membres
Ben en fait, il me sert à m'assurer qu'un gars lira aussi bien À É Ë... en France qu'en Suède, Chine ou Égypte.
En codant mes caractères accentués ainsi, j'espère m'éviter les ? et autres codes d'erreurs sur ces caractères.
Fais-je fausse rut ? :o
Certes ça alourdit ma base, mais au moins, je n'ai pas un mail d'un poto exilé au fin fond de l'Ouzbékistan septentrionale m'invectivant sur 10 générations parce qu'il n'arrive pas à lire une page...
Et ça m'évite aussi d'avoir des "?" dans mes codes sql... J'en ai eu une fois, tous les accents d'un texte ont été perdus. Je me suis amusé à tous les remettre. Je n'ai pas compris ce qu'il s'est passé, alors depuis, je code tout dès l'entrée dans la base. Mais je suis ouvert à toute proposition pertinente ^^

Projet actuel :
Site Familial avec une belle généalogie dynamique, présentable sur une page internet et facilement adaptable à tout type de situation, et qui sert le café, et qui fait la vaisselle...
Commandement # 32 :
Pour assurer aux dépanneurs, une lecture sans heurt,
Ton code, tu indenteras; et leur bonheur, tu feras. :-°
La suite
 
Hors ligne Talus # Posté le 17/01/2008 à 01:56:59
タルス
Avatar
Groupe : Membres
Ben justement, les meta tags sont faites pour ca... Hop en Iso-8859-15 :)

Au pire tu peux faire du UTF-8...
 
Hors ligne Taiotoshi # Posté le 17/01/2008 à 08:10:14
Hey mon ami !
Avatar
Groupe : Membres
Toutes mes pages ont en méta : <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Ca veut dire qu'à partir de là, je peux m'éviter les &eacute; et autre &Auml;, et afficher directement é Ä ?
Et que de là, n'importe quel chinois ou inuit qui se point sur ma page pourra voir la majuscule accentuée ? o_O

Projet actuel :
Site Familial avec une belle généalogie dynamique, présentable sur une page internet et facilement adaptable à tout type de situation, et qui sert le café, et qui fait la vaisselle...
Commandement # 32 :
Pour assurer aux dépanneurs, une lecture sans heurt,
Ton code, tu indenteras; et leur bonheur, tu feras. :-°
La suite
 
Hors ligne Talus # Posté le 17/01/2008 à 10:58:15
タルス
Avatar
Groupe : Membres
Hors ligne Lynix # Posté le 17/01/2008 à 16:44:22
Graphiste 3D
Avatar
Groupe : Membres
htmlentities sert uniquement pour empecher l'utilisation de balises html dans un message, certaines balises comme le javascript peuvent être dangereuses

d'ailleur je crois que utiliser htmlspecialchars avec ENT_QUOTES est la meilleure solution (corrigez moi si je me trompe)

Utopy Bientot :D
 
Hors ligne Jeremie78 # Posté le 17/01/2008 à 18:06:11
Powered by GNU/Linux
Groupe : Membres
Pas de correction, tu as amplement raison :D

Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site, générateur de bannières, de userbars, ...
 
Hors ligne Talus # Posté le 17/01/2008 à 18:27:42
タルス
Avatar
Groupe : Membres
htmlspecialchars suffit amplement... sans option ENT_QUOTES :-°
 
Hors ligne Jeremie78 # Posté le 18/01/2008 à 19:11:31
Powered by GNU/Linux
Groupe : Membres
Ça dépend des cas ... ça peut être utile, mais dans la plupart des cas, l'option n'est pas nécessaire.

Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site, générateur de bannières, de userbars, ...
 
Hors ligne Jerry Wham # Posté le 30/01/2008 à 09:53:15
1castorMangé,1arbreSauvé
Avatar
Groupe : Membres
Bon je vous propose une fonction antispam. Je sais qu'elle ne plait pas trop à `Haku mais j'aimerai aussi votre avis.

Je l'utilise depuis que je me suis fait spammer mon livre d'or. Et depuis que je l'ai mise en place, je ne suis plus embêté. C'est une fonction toute simple et j'aimerai savoir s'il y a lieu de l'améliorer, et le cas échéant, comment et pourquoi. Merci.

Auteur: Jerry Wham
Type: Fonction
But: Système antispam simple
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function verification($message)
  3. {
  4.         $interdit = array('job','penis','viagra','blow','enlarger','enlarge','hello','good','sexe','want','you','all','best','get','know','pill','your','male','device','length','women','man','men','woman','big','sexual','lowest','price','erect','blood','enjoy','with','ejaculation','improves','erection','new','the');
  5.         $split = split(' ',$message);
  6.         foreach($split as $mot)
  7.         {
  8.                 if(in_array(strtolower($mot),$interdit))
  9.                 {
  10.                         return TRUE;
  11.                 }
  12.         }
  13. }
  14.  
  15. ?>


Exemple:
Utilisation dans le cadre d'un livre d'or, pour éviter les spams en anglais.

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2.  
  3. $verif = verification($message);
  4.         if($verif == true)
  5.         {
  6.                 echo'
  7.                <p>
  8.                Erreur : Allez polluer ailleurs !
  9.                </p>
  10.                ';
  11.         }
  12.         else
  13.         {      
  14.         mysql_query('INSERT INTO base VALUES("")');
  15.         }
  16.  
  17.  
  18. ?>
Édité le 30/01/2008 à 16:59:06 par Jerry Wham
 
Hors ligne Noodle Juice # Posté le 30/01/2008 à 10:19:43
Groupe : Membres
Tu interdis des mots anglais un peu zarb.
Pourquoi interdis tu "enjoy" ou "all" ?
Édité le 30/01/2008 à 10:20:56 par Noodle Juice
Hors ligne Jerry Wham # Posté le 30/01/2008 à 10:44:43
1castorMangé,1arbreSauvé
Avatar
Groupe : Membres
Parce que ça revient souvent dans ce genre de message.
 
Hors ligne Noodle Juice # Posté le 30/01/2008 à 10:58:48
Groupe : Membres
ha bon ... donc je suis un spam-mam.
Je trouve que tu restreints trop.

Le must serait de faire une table de hachage.
Tu as tes mots avec un "indice de spam" de 1 à 10 par exemple.

Et tu comptes l'indice total de ton message, si il dépasse 10 tu le bloque sinon tu le laisses passer.
Après il faut regarder les indices à mettre.

enlarge => 10
all => 1
enjoy => 2

par exemple.
Hors ligne Talus # Posté le 30/01/2008 à 12:55:27
タルス
Avatar
Groupe : Membres
Je suis pas convaincu... :)

Un petit truc du genre un captcha (même non visuel, genre "Ne remplissez pas ce champ") suffit pour ce genre de trucs. A moins que le type veuille vraiment vous pourir :)
 
Hors ligne Jerry Wham # Posté le 30/01/2008 à 14:18:24
1castorMangé,1arbreSauvé
Avatar
Groupe : Membres
J'ai fait un système demandant de résoudre une addition simple, les nombres étant donnés sous forme d'images. Mais ça n'a pas suffit. Je ne suis pas sûr que ce soit un robot qui m'ait pourri le livre, mais plus une personne.
D'où ma fonction.

Sinon, pas idiot l'idée du captcha "ne remplissez pas ce champ".
 
Hors ligne Jeremie78 # Posté le 30/01/2008 à 18:50:02
Powered by GNU/Linux
Groupe : Membres
si c est une personne alors cette derniere solution est inefficace ....

Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site, générateur de bannières, de userbars, ...
 
Hors ligne gtraxx # Posté le 30/01/2008 à 19:17:35
clashdesign
Avatar
Groupe : Membres
un captcha simple avec un champs pour la réponse a une question du genre
"Combien font 1 + 1" ou "De quel couleur est mon chien blanc".
C'est très efficace et hyper simple suffit de placer plusieurs question dans un switch afin d'avoir un question différente a chaque passage.

La plus grande force dans la réalisation de ses projets est bien entendu l'entraide.
clashdesign
dj gtraxx
Ma plateforme de blog : Blogle
https://wiki.ubuntu.com/GeritsAurelien
 
Hors ligne Jeremie78 # Posté le 30/01/2008 à 21:16:18
Powered by GNU/Linux
Groupe : Membres
> De quel couleur est mon chien blanc
gris parce que tu ne l as pas lave depuis longtemps ?

Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site, générateur de bannières, de userbars, ...
 
Hors ligne Talus # Posté le 31/01/2008 à 00:10:27
タルス
Avatar
Groupe : Membres
Citation : Jeremie78
si c est une personne alors cette derniere solution est inefficace ....


Si le type est un humain, alors aucun captcha ne suffira, réflechis un peu :-°
 
Hors ligne Jeremie78 # Posté le 31/01/2008 à 19:08:29
Powered by GNU/Linux
Groupe : Membres
Avec cette solution il suffit d appuyer sur F5 ...
Avec un vrai captcha, il a deja plus de mal.

Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site, générateur de bannières, de userbars, ...
 
Hors ligne strucky # Posté le 31/01/2008 à 20:16:34
Jamais content !
Avatar
Modérateurs
Bah non, c'est la même chose.
Hors ligne Jeremie78 # Posté le 31/01/2008 à 20:19:02
Powered by GNU/Linux
Groupe : Membres
...
Entre mettre 1 message par minutes et 60, y a une petite différence si tu ne la saisie pas je ne peux rien pour toi.
Édité le 31/01/2008 à 20:19:18 par Jeremie78

Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site, générateur de bannières, de userbars, ...
 
Hors ligne strucky # Posté le 31/01/2008 à 20:26:58
Jamais content !
Avatar
Modérateurs
Mais euh, c'est moi qui peux rien pour toi si t'arrives pas à comprendre que ce soit un captcha ou une question piochée au hasard, le résultat est le même...
Hors ligne Talus # Posté le 31/01/2008 à 20:26:59
タルス
Avatar
Groupe : Membres
Qui a dit que la question changeait toutes les minutesn et pas à chaque actualisations ? >_<

Une fois que le bot a décodé le captcha, c'est bon c'est mort hein :-°

Une fois que l'humain s'y implique, c'est mort aussi, car lui aussi peut lire les messages et autres captchas à reproduire :-°

Zut grillé :p
Édité le 31/01/2008 à 20:27:42 par Talus
 
Hors ligne Jeremie78 # Posté le 31/01/2008 à 20:28:29
Powered by GNU/Linux
Groupe : Membres
En effet, j etais reste sur le coup du champs vide ...
Dans ce cas ca fonctionne en effet

Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site, générateur de bannières, de userbars, ...
 

Retour au forum "PHP" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 124 Zéros connectés | Requêtes SQL 6 requêtes | Temps de génération de la page : Total (SQL) 0.1674s (0.1514s)