L'affichage des datas qui sont dans ma DB via TinyMCE
RésoluAgneauSincere36 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour les génies, je renconte un sérieux problème avec l'affichage des informations qui sont dans ma DB où je les ai sauvés via un formulaire Tinymce.
Voici ce que Tinymce enregistre dans ma BDD:
<p style="text-align: center;"><em><span style="text-decoration: underline;"><strong>test</strong></span></em></p>
Alors que, j'aimerais conservé la mise en forme dans mon site comme dans Mon formulaire sous TinyMCE.
Donc sur mon site les balise comme tel:
test
Comment faire pour que Tinymce place les balise html sans qu’elle s’affiche sur mon site ?
(J’avoueque j’ai un peu chercher dans la conf de Tinymce mais je n’ai rien trouver.)
J’éspère m’être bien exprimé et que ce n’est pas trop floue pour vous aussi.
Merci.
- Photos de le poincaré
- Affichage double ecran - Guide
- Comment ouvrir un fichier db ? ✓ - Forum Windows
- Windows 11 affichage classique - Guide
- Pinterest problème affichage ✓ - Forum Réseaux sociaux
- Partager des photos via un lien - Guide
5 réponses
ça devrait donner un truc du genre
Fichier de connexion à la bdd à utiliser dans tous tes autres fichiers !
<?php //Fichier de connexion à la bdd pour éviter d'avoir à la réécrire dans tous tes scripts //Démarrage session (versions of PHP >= 5.4.0 , PHP 7, PHP 8) if (session_status() === PHP_SESSION_NONE) { session_start(); } $conn= new mysqli('localhost','root','','media') //on vérifie qu'il n'y pas de soucis à la connexion à la bdd if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); exit(); } ?>
Fichier d'upload
<?php //PAGE D’EXEXUTION Upload.php // On inclus le fichier de connexion à la bdd require_once 'cnxbdd.php'; if(!isset($_SESSION['unique_id'])){ header("location: index.php"); } // Vérifier si le formulaire est soumis if($texte){ //Utilisation des requêtes préparées pour éviter les failles de sécurités // Doc : https://www.w3schools.com/php/php_mysql_prepared_statements.asp $stmt = mysqli_prepare($conn, "INSERT INTO menu (name) VALUES (?)"); mysqli_stmt_bind_param($stmt, 's', $texte); $texte = !empty($_POST['texte']) ? trim($_POST['texte']) : null; if(!mysqli_stmt_execute($stmt)){ echo("Error description: " . mysqli_error($conn)); }else{ echo "Insertion OK"; } } else { echo "Aucune données à insérer en base !!! "; } ?>
Fichier de formulaire
<?php //PAGE D’AFFICHAGE ET LE FORMULAIRE // On inclus le fichier de connexion à la bdd require_once 'cnxbdd.php'; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Acceuil</title> </head> <body> <form action="upload.php" method="post"> <label for="texte">Entrez votre texte :</label><br> <textarea id="texte" name="texte" rows="10" cols="50"></textarea><br> <input type="submit" value="Envoyer"> </form> <?php //AFFICHAGE SANS TABLE $rq=mysqli_query($conn,"select * from menu where name <> 'NULL' order by id desc limit 1 "); // ECHO LES DATAS; while ($row = mysqli_fetch_assoc($rq)){ echo "<br>" . $row['name']; } ?> <script src="tinymce/tinymce.min.js"></script> <script src="script.js"></script> </body> </html>
Il sied de signaler que, ses codes sources ????<p style="text-align: center;"><em><span style="text-decoration: underline;"><strong>test</strong></span></em></p>
Sont enregistrés avec les textes saisis via mon formulaire TinyMCE, dans un terme simple, les textes s'enregistrent et s'affichent dans le navigateur avec les codes sources de la mise forme comme dans un éditeur de texte.
Bonjour,
Ce que tu montres semble tout à fait normal.
Les données s'enregistrent correctement dans ta bdd...
Le souci, se situe donc au niveau de leur utilisation sur ton site...
Comment fais tu ? avec quel code ?
Je le faisais avec echo"$texte"; simplement et après une recherche j'ai trouvé ça ????
<?php
// Exemple de texte envoyé par TinyMCE (ou autre éditeur de texte)
texte = "<h1>Bienvenue</h1><p>Ceci est un <b>exemple</b> de texte avec des balises HTML autorisées.</p>";
// Liste des balises HTML autorisées allowed_tags = '<h1><h2><h3><h4><h5><b><i><u><strong><em><mark><p><br><span><blockquote><hr><pre><ul><ol><li><dl><dt><dd><table><tr><td><th><a><img>';
// Application strip_tags() pour show seulement les balises autorisées
texte_securise = strip_tags($texte, allowed_tags);
Mais, je n'arrive pas à l'appliquer, pour conserver la mise en forme comme dans l'aperçu de mon formulaire TinyMCE.
// Utiliser strip_tags() pour filtrer les balises HTML non autoriséestexte_securise =
strip_tags($texte);
mysqli_query($conn,"insert into menu(name)values('$texte')");
// Exécution de la requête
if ($conn='$texte') {
echo "Le texte a été ajouté avec succès à la base de données.";
} else {
echo "Une erreur est survenue lors de l'ajout du texte.";
}
?>
PAGE D’AFFICHAGE ET LE FORMULAIRE
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Acceuil</title>
</head>
<body>
<form action="upload.php" method="post">
<label for="texte">Entrez votre texte :</label><br>
<textarea id="texte" name="texte" rows="10" cols="50"></textarea><br>
<input type="submit" value="Envoyer">
</form>
<?php
$conn= new mysqli('localhost','root','','media')or die("Could not connect to mysql".mysqli_error($conn));
//AFFICHAGE SANS TABLE
$rq=mysqli_query($conn,"select * from menu where name <> 'NULL' order by id desc limit 1 ");
// ECHO LES DATAS;
while ($row = mysqli_fetch_assoc($rq)){
$texte=$row['name'];
?>
<br>
<?php
echo "$texte";
}
?>
<script src="tinymce/tinymce.min.js"></script>
<script src="script.js"></script>
</body>
</html>
PAGE D’EXEXUTION Upload.php
<?php
session_start();
if(!isset($_SESSION['unique_id'])){
header("location: index.php");
}
$conn= new mysqli('localhost','root','','media')or die("Could not connect to mysql".mysqli_error($conn));
// Vérifier si le formulaire est soumis
$texte=addslashes($_POST['texte']);
$texte=htmlspecialchars($texte);
// Liste des balises HTML autorisées
// allowed_tags = '<h1><h2><h3><h4><h5><b><i><u><strong><em><mark><p><br><span><blockquote><hr><pre><ul><ol><li><dl><dt><dd><table><tr><td><th><a><img>';
// Utiliser strip_tags() pour filtrer les balises HTML non autoriséestexte_securise =
strip_tags($texte);
mysqli_query($conn,"insert into menu(name)values('$texte')");
// Exécution de la requête
if ($conn='$texte') {
echo "Le texte a été ajouté avec succès à la base de données.";
} else {
echo "Une erreur est survenue lors de l'ajout du texte.";
}
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionouais... donc tu n'as pas lu ma réponse précédente visiblement...
tu as deux lignes en trop dans ton code d'upload
$texte=addslashes($_POST['texte']); $texte=htmlspecialchars($texte);
tu dois enregistrer le contenu tel quel dans la base de données sans aucun traitement.. et j'insiste sur le mot aucun..
Allahou Akbar! Merci infiniment coach, jusqu'au point ou je manque le mot.
Gloire et louange à Celui qui a enseigné à l'homme ce qu'il ne savait pas.