Bonjour !
Après des heures de recherches je n'ai toujours pas trouvé la raison pour laquelle je n'arrive pas à récupérer le contenu de mon textarea lorsque je veux poster un article en utilisant l'éditeur WYSIWYG TinyMCE...
Coté base de données, la nouvelle ligne est bien ajoutée (id, titre, date etc...) mais contenu reste désespérément vide !
Dans le cas où je poste une image seulement la balise img est bien sauvegardée dans le champ contenu... Fou, non ?
Peut-être pourrez-vous m'aider. Voici mon code :
redaction.php
valid_redaction.php
Redaction.class.php
Petite précision : lorsque j'utilise tinyMCE pour poster un article, le contenu du textarea n'est même pas transmis à valid_redaction.php...
Avez-vous une idée du problème ?
Merci !
Modifié par Api1000 (28 Aug 2008 - 11:16)
Après des heures de recherches je n'ai toujours pas trouvé la raison pour laquelle je n'arrive pas à récupérer le contenu de mon textarea lorsque je veux poster un article en utilisant l'éditeur WYSIWYG TinyMCE...
Coté base de données, la nouvelle ligne est bien ajoutée (id, titre, date etc...) mais contenu reste désespérément vide !
Dans le cas où je poste une image seulement la balise img est bien sauvegardée dans le champ contenu... Fou, non ?

Peut-être pourrez-vous m'aider. Voici mon code :
redaction.php
<head>
<script language="javascript" type="text/javascript" src="js/mootools.js"></script>
<script language="javascript" type="text/javascript" src="js/forms.js"></script>
<script language="javascript" type="text/javascript" src="js/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
language : "fr",
plugins : "fullscreen,ibrowser",
theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,|,fontselect,fontsizeselect,|,bullist,numlist,|,outdent,indent,blockquote,|,link,unlink,|,forecolor,|,fullscreen,|,ibrowser",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "center",
theme_advanced_resizing : true,
relative_urls : false
});
window.addEvent('load', initRequest);
function initRequest() {
var envoi = $('envoi_redaction');
envoi.addEvent('click', sendform_redaction);
}
function sendform_redaction(e) {
if (checkform('form_redaction') == true) {
// capture de lévénement
var myEvent = new Event(e);
// on le eutralise
myEvent.stop();
var log = $('res_redaction').empty().addClass('ajax-loading');
var url = "validation/valid_redaction.php";
new Ajax (url, {
method:'post',
update: log,
data:document.forms[0],
encoding:'utf-8',
onComplete: function() {
log.removeClass('ajax-loading');
}
}).request();
}
}
function checkform(formname) {
var errors = 0;
errors += checkText(formname, 'titre');
if (errors == 0) {
return true;
}
else {
return false;
}
}
</script>
</head>
<body>
<div class="contenu">
<?php
include_once('inc/menu_admin.php');
include_once('js/tiny_mce/plugins/ibrowser/config/config.inc.php');
?>
<form method="post" name="form_redaction" action="validation/valid_redaction.php" id="form_redaction">
<label for="document" class="label_form">
Type de document :
<select name="document" id="document" class="select_form">
<option value="article">Article</option>
<option value="dossier">Dossier</option>
</select>
</label>
<label for="categorie" class="label_form">
Catégorie :
<select name="categorie" id="categorie" class="select_form">
<option value="1">Les sorties</option>
<option value="2">L'Association</option>
<option value="3">La Fédération</option>
</select>
</label>
<label for="titre" class="label_form">
Titre : <input type="text" name="titre" id="titre" size="35" class="input_form" maxlength="50" />
<div id="erreur_titre" class="erreur_form">Veuillez indiquer un titre</div>
</label>
<label class="label_form" style="height:385px;">
Contenu :<br /><br />
<textarea name="contenu_redaction" id="contenu_redaction" cols="93" rows="20"></textarea>
<div id="erreur_contenu" class="erreur_form">Veuillez ajouter du contenu</div>
</label>
<div class="centre">
<a href="#"><img src="img/boutons/envoyer.jpg" alt="Envoyer" id="envoi_redaction" /></a>
<a href="#" onclick="document.forms.form_redaction.reset();"><img src="img/boutons/effacer.jpg" alt="Effacer" /></a>
</div>
</form>
valid_redaction.php
<?php
session_start();
header('Content-Type: text/html; charset=ISO-8859-1');
if ($_POST) {
sleep(1);
include_once('../classes/Bdd.class.php');
include_once('../classes/Redaction.class.php');
if (isset($_POST["document"]) && $_POST["document"] == "article") {
$redaction = new Redaction("article");
}
if (isset($_POST["document"]) && $_POST["document"] == "dossier") {
$redaction = new Redaction("dossier");
}
if ($redaction->ajout_redaction($_POST)) {
echo "<span style=\"color:#009900; font-size:11px;\">Votre ".$_POST["document"]." a été ajouté avec succès.</div>";
}
else {
echo "<span style=\"color:#ff0000; font-size:11px;\">Un problème est survenu. Veuillez recommencer.</span>";
}
}
?>
Redaction.class.php
function ajout_redaction($infos) {
foreach($infos as $value) {
$value = mysql_real_escape_string($value);
}
$sql1 = "INSERT INTO redaction VALUES('', ".time().", '".$this->type."', ".$infos["categorie"].", '".$infos["titre"]."', '".$infos["contenu_redaction"]."', ".$_SESSION["id_membre"].")";
$query1 = mysql_query($sql1);
return $query1;
}
Petite précision : lorsque j'utilise tinyMCE pour poster un article, le contenu du textarea n'est même pas transmis à valid_redaction.php...
Avez-vous une idée du problème ?

Merci !
Modifié par Api1000 (28 Aug 2008 - 11:16)