8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je travail actuellement à la mise en place de formulaires permettant de modifier l'actualité d'un site internet.
Afin de faciliter le travail j'ai souhaité intégrer fckeditor à mes pages, ce qui après moult efforts fonctionne. Cependant lors de l'enregistrement des modifications, cela ne marche pas.

Afin de mieux comprendre le fonctionnement voici quelques explications.

Sur la page précédentes sont affichés toutes les actualités de la base de donnée avec la possibilité de modifier celles-ci. L'ID de chaque actu est récupéré afin de l'afficher sur la page qui pose problème.

Le code :




<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  $updateSQL = sprintf("UPDATE actualite SET titre_actu=%s, date_actu=%s, type_actu=%s, contenu_actu=%s, resume_actu=%s, source_actu=%s, validation_actu=%s WHERE id_actu=%s",
                       GetSQLValueString($_POST['titre_actu'], "text"),
                       GetSQLValueString($_POST['date_actu'], "date"),
                       GetSQLValueString($_POST['type_actu'], "text"),
                       GetSQLValueString($_POST['contenu_actu'], "textarea"),
                       GetSQLValueString($_POST['resume_actu'], "text"),
                       GetSQLValueString($_POST['source_actu'], "text"),
                       GetSQLValueString($_POST['validation_actu'], "text"),
                       GetSQLValueString($_POST['id_actu'], "int"));


  mysql_select_db($database_adsea42actu, $adsea42actu);
  $Result1 = mysql_query($updateSQL, $adsea42actu) or die(mysql_error());

  $updateGoTo = "intranet.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
}

$colname_Recordset1 = "-1";
if (isset($_GET['id_actu'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['id_actu'] : addslashes($_GET['id_actu']);
}
mysql_select_db($database_adsea42actu, $adsea42actu);
$query_Recordset1 = sprintf("SELECT * FROM actualite WHERE id_actu = %s ORDER BY date_actu DESC", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $adsea42actu) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);




?>
<?php
include("fckeditor/fckeditor.php") ;
?>






le formulaire :



<form method="post" name="form1" action="<?php echo $editFormAction; ?>">




  <table align="left" width="720">
    <tr valign="baseline">
      <td nowrap align="right">Id_actu:</td>
      <td><?php echo $row_Recordset1['id_actu']; ?></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Titre_actu:</td>
      <td><input type="text" name="titre_actu" value="<?php echo $row_Recordset1['titre_actu']; ?>" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Date_actu:</td>
      <td><input type="text" name="date_actu" value="<?php echo $row_Recordset1['date_actu']; ?>" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Contenu_actu:</td>
      <td>
	
	  <?php
$oFCKeditor = new fckeditor('contenu_actu') ;
$oFCKeditor->BasePath = './fckeditor/'; 
$oFCKeditor->Height = '500' ; 
$oFCKeditor->Value = $row_Recordset1['contenu_actu'] ;
$oFCKeditor->Create() ;
?> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Resume_actu:</td>
      <td><input type="text" name="resume_actu" value="<?php echo $row_Recordset1['resume_actu']; ?>" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Source_actu:</td>
      <td><input type="text" name="source_actu" value="<?php echo $row_Recordset1['source_actu']; ?>" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Statut_actu:</td>
      <td><input type="text" name="statut_actu" value="<?php echo $row_Recordset1['statut_actu']; ?>" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Photo_actu:</td>
      <td><input type="text" name="photo_actu" value="<?php echo $row_Recordset1['photo_actu']; ?>" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td><input type="submit" value="Mettre à jour l'enregistrement"></td>
    </tr>
  </table>
  <input type="hidden" name="MM_update" value="form1">
  <input type="hidden" name="id_actu" value="<?php echo $row_Recordset1['id_actu']; ?>">
</form>




et enfin le message d'erreur :

Erreur de syntaxe près de '=

Après six années à la tête de not' à la ligne 1



Cette erreur concerne l'endroit ou j'ai intégré fckeditor dans mon formulaire

Si vous pouviez m'aider un peu cela m'aiderai grandement et m'éviterai de perdre quelques cheveux ^^

Merci à vous


Edit :

Voici quelque chose qui peut peut être aider :

le rapport d erreur de firebug

1Erreur de syntaxe près de '=<p>le nouveau Directeur G&eacute;n&eacute;rale est</p>, resume_' à la ligne 1




J'ai l'impression que c'est un problème d'apostrophe puisque il ne distingue pas la variable contenu_actu avec resume_actu dans le rapport d'erreur...

quelqu un aurait une idée s'il vous plait?
Modifié par nikabalte (05 Aug 2009 - 16:55)
bon ben après y avoir passer ma journée dessus j'ai trouvé le problème Smiley smile

....

ici il fallait mettre :

GetSQLValueString($_POST['contenu_actu'], "text"),


au lieu de :

GetSQLValueString($_POST['contenu_actu'], "textarea"),



Les joies de l'informatique...