Bonjour à tous,
Je suis en train de créer un site avec une zone d'administration pour les mises à jour du site.
Les utilisateurs de ce site n'ont aucune connaissance en html, d'où l'idée d'intégrer un éditeur WYSIWYG.
J'ai réfléchi sur deux éditeurs : Concept RTE et FCKeditor. Le premier plus sobre semble suffisant pour les besoins du site.
Je suis débutant en php et dans l'utilisation de MySQL.

Mon problème :

Lorsque je soumets le post, le formulaire envoie un contenu vide à la base.
Je pense que j'utilise une mauvaise variable.
En revanche j'arrive à afficher dans le formulaire le contenu présent dans la base.

Je vous donne le code source de la page où se trouve l'éditeur :

session.php contient les informations de connection à la base

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
	<title>Cross-Browser Rich Text Editor</title>
	<meta http-equiv="Content-Type" content="text/html; Charset=utf-8">
	<meta name="PageURL" content="http://www.kevinroth.com/rte/demo.php" />
	<meta name="PageTitle" content="Cross-Browser Rich Text Editor (PHP Demo)" />
	<script language="JavaScript" type="text/javascript" src="html2xhtml.js"></script>
	<!-- To decrease bandwidth, use richtext_compressed.js instead of richtext.js //-->
	<script language="JavaScript" type="text/javascript" src="richtext.js"></script>
</head>
<body>

<h2>&nbsp;</h2>
<?php
include ("../session.php");?>
<?php
if ($status == "connect") 
{

}
else 
{
print "<br><br><br><br><h2>ERREUR !<br><br>Nétant pas identifié, cette opération est interdite. <br>Identifie toi puis recommence l'opération</h2>";
print "<META http-equiv=\"refresh\" content=\"3; URL='login.php'\">";
}


?>


<!-- START Demo Code -->
<form name="formulaire" action="../valide_concert_avant.php" method="post">
<script language="JavaScript" type="text/javascript">
<!--
function submitForm() {
	//make sure hidden and iframe values are in sync before submitting form
	//to sync only 1 rte, use updateRTE(rte)
	//to sync all rtes, use updateRTEs
	updateRTE('rte1');
	//updateRTEs();
	
	//change the following line to true to submit form
	return true;
}

//Usage: initRTE(imagesPath, includesPath, cssFile, genXHTML)
initRTE("images/", "", "", true);
//-->
</script>
<noscript>
<p><b>Le Javascript doit &ecirc;tre activ&eacute; pour utiliser ce formulaire (voir dans vos options de votre navigateur) </b></p>
</noscript>

<script language="JavaScript" type="text/javascript">
<!--
<?php
//format content for preloading

if (!(isset($_Post["rte1"]))) {
	$result = "select avant from concert_avant ORDER BY id DESC LIMIT 1";
	$envoi = mysql_query($result);
	while($table = mysql_fetch_array($envoi))
		{
	$avant = $table['avant'];
	}
	$content = "$avant";
	$content = rteSafe($content);
	 $id=$_Post["id"];

 
} else {
	//retrieve posted value
	$content = rteSafe($_Post["rte1"]);
}
?>//Usage: writeRichText(fieldname, html, width, height, buttons, readOnly)
writeRichText('rte1', '<?=$content;?>', 520, 200, true, false);
//-->
</script>

<p><b>Cliques sur envoie, pour la mise a jour de la page.</b></p>
<p><input type="submit" name="submit" value="Envoie"></p>
</form>
<?php
function rteSafe($strText) {
	//returns safe code for preloading in the RTE
	$tmpString = $strText;
	
	//convert all types of single quotes
	$tmpString = str_replace(chr(145), chr(39), $tmpString);
	$tmpString = str_replace(chr(146), chr(39), $tmpString);
	$tmpString = str_replace("'", "&#39;", $tmpString);
	
	//convert all types of double quotes
	$tmpString = str_replace(chr(147), chr(34), $tmpString);
	$tmpString = str_replace(chr(148), chr(34), $tmpString);
//	$tmpString = str_replace("\"", "\"", $tmpString);
	
	//replace carriage returns & line feeds
	$tmpString = str_replace(chr(10), " ", $tmpString);
	$tmpString = str_replace(chr(13), " ", $tmpString);
	
	return $tmpString;
}
?>
<!-- END Demo Code -->

</body>
</html>


Puis le code source de la page de reception du post chargée d'envoyer à la base MySQL

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; Charset=utf-8">
<title>[ADMINISTRATION] Validation du post des dates antérieures</title>
</head>
<LINK 
href="style.css" type=text/css 
rel=stylesheet>
<body>
<div id="conteneur_form">
	<div id="form">
<?php include ("session.php"); ?>
<?php
    	
    $id      = $_POST["id"];
    $avant  = $_POST["rte1"];
        
      echo "$avant<br>";
     
     $result=mysql_query("INSERT INTO concert_avant (id,avant)
              VALUES ('$id','$avant')");
     if (!$result) {
        echo "<br><br><br><b>L'enregistrement de tes données a échoué. Essayes plus tard</b><br>";
		print "<META http-equiv=\"refresh\" content=\"3; URL='index.php'\">";
     } else {
        echo "<br><br><br><b>Les données ont bien été enregistrées</b><br>";
		print "<META http-equiv=\"refresh\" content=\"3; URL='dates2.php'\">";
     }
   
?>
</div>
</div>


J'ai retourné mon code dans tous les sens, et je ne trouve pas. J'aime les difficultés mais j'ai l'impression de toucher au but sans pour autant trouver la réponse à mon problème. Qu'en pensez vous ? Pouvez vous m'aider ?
Merci d'avance.
Modifié par zigzag59 (02 May 2006 - 23:23)
Administrateur
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
N'y a t-il personne pour m'aider ?
Je ne veux pas non plus qu'on me serve le code corrigé sur un plateau, mais si vous auriez des pistes car je persiste à croire que j'utilise une mauvaise variable ou que je l'utilise mal...

Bonne soirée à vous tous Smiley biggrin