Insertion d'html dans la base de données
Posté : 22 mai 2014, 21:03
Bonjour,
Dans mon formulaire, j'aimerais que si un membre insère du html par exemple : <a href="http://www.google.fr">Google</a>
J'aimerais que ça affiche les balises et non Google.
L'insertion prend en compte les balises html, donc si j'insère des chevrons sans les fermer, ça dérègle tout mon code
J'ai essayé avec htmlentities, htmlspecialchars, ça ne fonctionne pas, voici mon code :
J'utilise html_entity_decode, sinon les accents et caractères spéciaux ne s'affichent pas correctement, mais je pense que c'est dû à ça mon problème
Dans mon formulaire, j'aimerais que si un membre insère du html par exemple : <a href="http://www.google.fr">Google</a>
J'aimerais que ça affiche les balises et non Google.
L'insertion prend en compte les balises html, donc si j'insère des chevrons sans les fermer, ça dérègle tout mon code
J'ai essayé avec htmlentities, htmlspecialchars, ça ne fonctionne pas, voici mon code :
J'utilise html_entity_decode, sinon les accents et caractères spéciaux ne s'affichent pas correctement, mais je pense que c'est dû à ça mon problème
function createCom($user_id,$coms_feed,$coms_text){
$coms_text = trim(htmlentities($_POST['coms_text']));
if(isset($coms_text) && !empty($coms_text)){
$resultat = Bdd::connect() -> prepare(INSERT.USERSZ_COMS.' (user_id, coms_feed, coms_text, coms_date) VALUES (:user_id, :coms_feed, :coms_text, NOW())');
$resultat -> execute(array('user_id' => $user_id,'coms_feed' => $coms_feed,'coms_text' => trim(html_entity_decode($coms_text))));
$resultats = Bdd::connect() -> prepare(SELECT.ALL.USERS_FEED.JOIN.USERSZ_COMS.' ON users_feed.feed_id = users_coms.coms_feed'.JOIN.'users ON users_coms.user_id = users.id');
$resultats -> execute();
$result = $resultats -> fetch(PDO::FETCH_ASSOC);
$avatar = $_SERVER['DOCUMENT_ROOT'].'/users/upload/avatars/'.$result['user_id'].'.jpg';
$avatarDefault = $result['sexe'] == 'homme' ? 'homme.jpg' : 'femme.jpg';
echo '
<div class="comsContainer">
<div class="comBorder"></div>
<div class="comAvatar"><img src="users/upload/avatars/';if(file_exists($avatar)){echo $result['user_id'].'.jpg';} else {echo $avatarDefault;}echo '" height="34" width="34" alt="" /></div>
<div class="comContent">
<a href="'.$result['pseudo'].'" class="comName">'.majuscule($result['prenom']).' '.majuscule($result['nom']).'</a>
<div class="comText"><i class="arrowCom"></i>'.nl2br(smiley($result['coms_text'])).'</div>
</div>
</div>';
} else {
return false;
}
}
Merci d'avance