CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Acces base de données MySql

dexter_68
dexter_68
Niveau 10
13 septembre 2008 à 17:40:29

Par exemple, ma base de données contient des articles de presse et certains mots ou phrases doivent être mis en gras ou en italique. Le placement de ces mots ou phrases étant aléatoire, je ne peux pas faire autrement que d'indiquer les balises html directement dans le texte afin que la mise en page soit correcte à l'affichage... :)

greensheep29
greensheep29
Niveau 9
13 septembre 2008 à 17:42:35

Ah ouais ok :)
Bah alors utilise seulement htmlspecialchars() à l'affichage

dexter_68
dexter_68
Niveau 10
13 septembre 2008 à 17:46:26

Mais si j'utilise cette fonction à l'affichage, la mise en page ne sera pas prise en compte car elle contient du code HTML et les balises seront insérées comme du texte et non du code...

Je me trompe :question:

greensheep29
greensheep29
Niveau 9
13 septembre 2008 à 18:03:01

Non, c'est vrai.

Pour ça, tu peux utiliser le bbcode.

[b] [/b] , [i] [/i]

Tu mets htmlspecialchars();

Puis apres tu remplace [b] [/b] à coup de str_replace

:-)))

dexter_68
dexter_68
Niveau 10
13 septembre 2008 à 18:23:33

Cool ! je ne savais pas qu'ont pouvais faire ça...

:d) donc dans ma base de données, j'utilise [b][/b] pour mettre en gras et [i][/i] pour l'italique et comme ça je peux protéger ma base contre le html avec htmlspecialchars...

Ensuite, il suffit de mettre str_replace($letextequicontientlesbalises) pour que ce soit en gras et italique :question:

c'est ça ? et c'est valide W3C ?

:)

LeLion-67
LeLion-67
Niveau 10
13 septembre 2008 à 20:21:12

Ensuite, il suffit de mettre str_replace($letextequicontientlesbalises) pour que ce soit en gras et italique :question:

:rire:

:d) http://php.net/str_replace

greensheep29
greensheep29
Niveau 9
14 septembre 2008 à 11:19:35

C'est presque ça :
Bien sur, tu peux créer d'autres balises comme [green][/green] que tu remplace par <span style="color:#00FF00;"></span>

Aussi, je me suis trompé, preg_replace() est plus adaptée dans ce cas là :-)))

Ensuite, tu mets ça :

$var_db = $data['tavardelatable'];

$var_db = preg_replace('`\[b\](.+)\[/b\]`isU', '<b>$1</b>', $var_db);

N'essaye pas de comprendre isU et $1, je ne sais pas comment ça marche mais ça fonctionne :p)

:-)))

dexter_68
dexter_68
Niveau 10
14 septembre 2008 à 18:11:49

:merci: pour vos réponses ! :ok:

Dernière petite question avant que je mette mon site en ligne ! ( :fete: )...

:d) Est-ce qu'il faut obligatoirement protéger (avec les fonctions htmlspecialchars et mysql_real_escape_string) toutes les variables définies automatiquement par des boucles ou autres, si aucune intervention humaine n'est nécessaire (si il n'y a pas de cases à remplir et autres formulaires) :question:

:merci: encore pour tout le temps que vous avez passé a m'aider et me renseigner ! :ange:

deepblue
deepblue
Niveau 16
14 septembre 2008 à 18:27:16

Si tu comprends l'utilité de ces fonctions, tu auras ta réponse.

Par ailleurs, pour la rédaction que tu feras toi-même, je crois qu'il serait intéressant d'oublier le bbcode tel qu'on le connait aujourd'hui...j'entends par là que ça va vite devenir contraignant pour toi si demain tu veux ajouter des fonctions un peu plus "complexes" que mettre un texte en gras...

Sur mon blog, j'autorise le code html je parse les accents et autres, par exemple, uniquement dans les paragraphes.

http://wall.deblan.fr/1221409890/php/1/

deepblue
deepblue
Niveau 16
14 septembre 2008 à 18:33:50

(oula, y'a des truc qui ont été modifié depuis ma source oO)

dexter_68
dexter_68
Niveau 10
14 septembre 2008 à 18:50:37

Pffiou je ne comprends rien à la source :fou:

:d) Pour ce qui est des variables, je comprends ce qu'elles sont censée faire :

htmlspecialchars : empêche l'utilisation de code html

mysql_real_escape_string : rajoute des slashs aux caractères spéciaux

mais le problème c'est que je ne sais pas vraiment quand les appliquées... :doute:

:d) C'est uniquement quand l'intervention du visiteur est nécéssaire :question:

deepblue
deepblue
Niveau 16
14 septembre 2008 à 18:53:26

"htmlspecialchars : empêche l'utilisation de code html " donc tu l'utilises quand tu veux empêcher l'utilisation de code html

"mysql_real_escape_string : rajoute des slashs aux caractères spéciaux" > dans les requetes sql à l'ajout/modification de données

dexter_68
dexter_68
Niveau 10
14 septembre 2008 à 19:05:51

OK merci pour tes réponses !

Bonne soirée ! :)

deepblue
deepblue
Niveau 16
14 septembre 2008 à 19:13:26

http://bordel.deblan.fr/html/parse.ic.php.txt

(le code coloré était mauvais)

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment