8791 sujets

Développement web côté serveur, CMS

Bonjour,

je suis certain que ce problème a déjà été rencontré mais je ne vois pas quelle solution prendre ni comment bien l'appliquer !

je rentre dans ma bdd des url d'images mais celles-ci ne peuvent s'afficher vu que mysql me rajoute des slashs /

je cherche juste à savoir comment empêcher l'ajout de ces slashs dans ce contexte là ?

pour mes autres données je conserve les slashs puisque j'ai vu que ca protégé mes données.

Merci de votre aide

voici ma requete mysql :
$req = $bdd->prepare('UPDATE table SET champs1=:champs1, champs2=:champs2 WHERE ID=:ID');

et voici mon champs :
<img src="/files/img/mon-image.jpg">
SAlut...

bizarre ton cas car mysql ne rajoute pas des slashs mais plutôt des antislashs...

il te suffit de traiter le champs en retour avec stripslashes pour supprimer les antislashs...
C'est pas MySQL qui ajoute des \ mais php et sa stupide directive magic_quotes. IL faut la désactiver de toute urgence et apprendre à faire sans, parce qu'au niveau sécuritaire ça ne protège pas grand chose.

Pour ajouter/enlever les \, c'est les fonctions addslashes/stripslashes; mais on ne devrait jamais les utiliser et on ne devrait jamais activer magic_quotes qui n'est qu'une protection en carton.
avant de le passer dans ta requête
addslashes('<img src ....... />');

puis utilises stripslashes quand tu l'afficheras