Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
Bonjour,
je développe actuellement un site et j'utilise un éditeur HTML (FCKeditor) pour insérer des articles dans la base de données.
Le problème est que le formulaire ne m'insère pas le contenu dans la base MySQL !
Il y a 2 formulaires, le premier pour insérer le titre de l'article et une description, et un 2e avec l'éditeur FCK.
Voici le code :
if($_GET['op'] == "post_article2") {
include("fckeditor/fckeditor.php");
if ( version_compare( phpversion(), '4.1.0' ) == -1 )
$postArray = &$HTTP_POST_VARS ;
else
$postArray = $_POST;
foreach($postArray as $sForm => $value) {
$contenu = htmlspecialchars(stripslashes($value));
}
$sql = mysql_connect($sql_host, $sql_user, $sql_pass);
mysql_select_db("$sql_base",$sql);
$query2 = "SELECT id FROM sections_".$cat." ORDER BY id DESC LIMIT 1";
$result2 = mysql_query($query2);
while ($row = mysql_fetch_array($result2)) {
$art_id = $row[id]; }
// $query = "UPDATE sections_".$cat." SET contenu='".$contenu."' WHERE id='$art_id'";
$sql2 = 'UPDATE `sections_graphisme` SET `contenu` = '.$contenu.' WHERE `id` = '1' LIMIT 1 ;'
. ' ';
$result = mysql_query($sql2);
print 'Article posté avec succès !';
print $art_id. '<br />' .$contenu;
mysql_close($sql);
redirect("admin.php", 2);
}
elseif($_GET['op'] == "post_article1") {
$sql = mysql_connect($sql_host, $sql_user, $sql_pass) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db("$sql_base",$sql);
$query = "INSERT INTO sections_".$cat." VALUES ('','$scat','$titre_article','$description','','','$date')";
$result = mysql_query($query);
redirect("admin.php?action=sections&cat=".$catid."&op=art2", 0);
}Merci de m'aider à trouver la solution !
Bye
*EDIT* En remplaçant
$contenu = htmlspecialchars(stripslashes($value));
par
$contenu = htmlspecialchars($value);
le problème ne se pose plus !
Hors ligne
tu a, à l'avant derniere ligne de ton code, la ligne :
$result = mysql_query($query);
remplace la par :
$result = mysql_query($query) or die(mysql_error());
il devrait te retourner l'erreur trouvée dans le script, donne la ici ![]()
Hors ligne
Ca c'est une bonne idée
Voila ce qu'il me met :
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'outils ci-dessus.' WHERE id='6'' at line 1
Je comprend pas bien...WHERE id='6' est pourtant valide comme instruction...
Pour info: 'outils ci-dessus.' est la fin du texte posté.
Rédigez ici votre article. Toutes les fonctionnalités sont dans les barres d'outils ci-dessus.
Hors ligne
alors, deja, il peut pas faire l'update, c'est de cette requete la que vient l'erreur...
ensuite, tu fait ta requete comme cela :
$sql2 = 'UPDATE `sections_graphisme` SET `contenu` = '.$contenu.' WHERE `id` = '1' LIMIT 1 ;'
les sont en quel honneur ? :?
essaye comme cela :
$sql2 = 'UPDATE `sections_graphisme` SET `contenu` = '.$contenu.' WHERE `id` = '1' LIMIT 1 ;'
Hors ligne
Ca marche toujours pas
Mais apres de nombreux tests, je me suis rendu compte que c'est le contenu qui posait réellement probleme.
En enlevant le stripslashes, ca marche !
Merci de m'avoir aidé, du moins guidé
Bye
Hors ligne