Mammouth du PHP |
586 Messages
23 nov. 2021, 19:17
Bonjour,
La fonction htmlentities() ne protège pas les chaines contre les injections sql mais permet d'éviter les failles xss. Comme son nom l'indique, cette fonction doit idéalement être utilisée lors de l'affichage dans un document html et pas à l'insertion des données en base car ces données peuvent être destinées à être utilisées dans un autre format.
Toutes les balises html img devraient avoir un attribut alt (en plus de l'attribut title si besoin).
La balise html table ne devrait pas être utilisée pour faire de la mise en page. La balise center est obsolète et ne devrait pas être utilisée. La mise en page et le positionnement des éléments html doit se faire en css.
Enfin, la balise table n'est pas utilisée correctement, celle-ci ne peut avoir de balise td (cellule) en enfant direct, les cellules doivent être dans une balise tr ou th (ligne).
Dans le dernier code, la balise table est inclue dans la boucle while, cela crée donc une table pour chaque image, ce qui explique le problème d'affichage des images à la verticale. Encore une fois les tableaux html ne devraient pas être utilisés pour faire de la mise en page, ton code sera surement plus simple sans balise table, tr et td.