DES FONCTIONS EN PHP...

cs_DEL Messages postés 15 Date d'inscription dimanche 8 avril 2001 Statut Membre Dernière intervention 26 juin 2005 - 31 juil. 2002 à 00:32
tkof Messages postés 35 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 31 janvier 2012 - 20 sept. 2004 à 04:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12984-des-fonctions-en-php

tkof Messages postés 35 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 31 janvier 2012
20 sept. 2004 à 04:53
Les fonctions sont basique !
Mais rien ne vaut les fonctions strip_tag (vire les balise html) ou plus encore !

Pr mes sites j'ai un fichier de fonctions qui me permet de securiser plusieurs type de chaines caratère selon leur emplacement (input, textarea ou autre)

Pense a mettre dans tes fonctions la gestion des magic quote etc....

Mais c'est pas mal si déja tu pense a te faire des fonctions pr ça t'es sur la bonne voie lol !
Et c'est encore mieux de faire partager ton code...

Si y a des demandes je filerai des exemples de mes fonctions (j'en ai fait environ 10)
Juste pr les chaines de caratère, les verifier (avec des palier de securité différent etc...)
pgpp Messages postés 58 Date d'inscription dimanche 16 mai 2004 Statut Membre Dernière intervention 2 septembre 2004
19 mai 2004 à 08:15
Pour éviter l'accumulation de elseif dans ton code, tu peux utiliser l'astuce suivante (optimisée) :

function zeFunction($param)
{
static $t=new Array('01'=>'One','02'=>'Two','03'=>'Three','Z'=>'Zed');
return($t[$param]);
}
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
9 juil. 2003 à 23:59
ah non ya encore des bugs de PHPCS tous mes antislashes il les vire !!

donc si tu veux le vrai bon code c'est la :
http://www.123toto.com/codes.php?source=forum/lire.php

la source est pas trop longue c'est en bas dans les dernières lignes
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
9 juil. 2003 à 23:57
arf ! je me suis trompé dans le premier code (le + court) c'est pas :
src="../smileys/1"
mais :
src="smileys/1"

jl'avais corrigé dans le truc détaillé et j'ai oublié dans l'original.

au fait ya des "grands espaces" affichés (un bug de PHPCS) : n'en tien pas compte en fait fo juste mettre un espace entre chaque token.
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
9 juil. 2003 à 23:53
Pour nicolas66 : dans mon forum j'ai rajouté un petit quelque chose qui ressemble à du bbcode, et tu peux le réutiliser facilement.

Pour ajouter un smiley dans le message, le visiteur écrit :
<smiley: 00000124.gif fin_smiley>
en fait avec un javascript c plus simple pour le visiteur :)

Pour ajouter un lien :
<lien: http://www.123toto.com fin_lien>
toujours plus simple avec un petit javascript avec un prompt();

Donc ça c'est pour quand le visiteur écrit son message.

Ensuite lors de l'affichage du message :
<?= ereg_replace("<lien: ([^>]*) fin_lien>", "[\1 \1]", ereg_replace("<smiley: ([^>]*) fin_smiley>", "", stripslashes(nl2br(htmlentities($message))))) ?>

permet d'aboutir au résultat en évitant le hacking, puisque j'utilise des fonctions de PHP qui reviennent à peu près au meme que la fonction protect() de BlackWizzard.

Ca c'est ce que j'avais fait dans mon code, mais je l'ai détaillé ci-dessous à la manière de BlackWizzard pour que ca paraisse + simple :
<?
$message=ereg_replace("<lien: ([^>]*) fin_lien>", "[\1 \1]", $message); // Pour faire des liens
$message=ereg_replace("<smiley: ([^>]*) fin_smiley>", "", $message); // Les smileys sont dans le dossier "smileys"
$message=stripslashes(nl2br(htmlentities($message))); // Pour empecher le hacking
echo $message; // Ben oui faut l'afficher ! Dans le code + haut j'avais fait ca avec le "=" collé au point d'interrogation du début du script
?>
nicolas66 Messages postés 116 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 4 janvier 2009
9 juil. 2003 à 22:55
Bah moi je dis ça pcq voir 31 fois la meme chose, pour moi c un peu zarb .. Fodrai essayé de voir le temps de chargement de la page version opt et non opt, si tu veu on fé la course lol. Jdéconne mé le principal c ke ca marche c sur :).
Utilisateur anonyme
9 juil. 2003 à 22:22
j'en pense que j'en ai pas l'utilité mdr!
mais si tu vx le faire, te gene pas :p
nicolas66 Messages postés 116 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 4 janvier 2009
9 juil. 2003 à 22:19
Salut
Moi je pense que ton code peut être largement optimisé surtt en ce qui concerne la partie des smileys et bbcode ([gras] ... /gras par ex) par une tiote REGEX hehe. Je m'y suis intéressé de près car je suis en train de faire un forum :). Fais donc une table smileys, le paramétrage est plus lourd d'1 côté, mais l'avantage c ke les lignes de codes sont largement moins importantes, et la possibilité de rajouter ou d'enlever des smileys n'est pas négligeable !! Qu'en penses-tu ?
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
27 avril 2003 à 16:10
Plutot que tous les elseif tu pourrais utiliser des select case.
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
2 août 2002 à 01:20
Pourquoi tu passes les arguments par référence ?
Enlève donc les "&".
Utilisateur anonyme
31 juil. 2002 à 01:59
chez moi ça marche nikel...
C le module dont je me sert sur mon site que G copié-collé.

reesai le ou utilise le mieux! :p
cs_DEL Messages postés 15 Date d'inscription dimanche 8 avril 2001 Statut Membre Dernière intervention 26 juin 2005
31 juil. 2002 à 00:32
la premiere fonction marche pas, je l'ai modifiée ainsi:

function protect($param) {
$pouet=$param;
$pouet= str_replace("<","<",$pouet);
$pouet= str_replace(">",">",$pouet);
$pouet= str_replace("\n","
",$pouet);
// je pige pa a koi servent les 2 la ...
$pouet= str_replace(" "," ",$pouet);
$pouet= str_replace(" "," ",$pouet);
return $pouet;
}

les autres j'ai pa encore regardé masi si y'a les memes ptites erreurs partout ... =)
Rejoignez-nous