Hola. Perdón por tardar tanto en responder, pero no pude probarlo antes, porque no tengo acceso al servidor (trabajo en local), y hasta hoy no pude mirarlo junto con mi jefe.
El caso es que ahora nunca graba cuando se incrustan imágenes. Pero el problema es sólo a incrustarlas, de tal manera que si la incrustas, la cortas y la pegas, sí que deja, pero al incrustarla directamente no.
Probé lo de var_dump(), y cuando sí que funciona, pues puedo ver que se trata de un string y la longitud, pero cuando incrusto una imagen, que es cuando no funciona, lo que hace es recargar la página tal cual estaba al acceder a ella, y tampoco muestra la información del var_dump.
Os copio y pego parte del código, el correspondiente a como graba el texto en los distintos idiomas una vez que se pulsa el botón de guardar, y también os muestro como está el formulario, y como funciona el ckeditor.
Saludos y gracias por adelantado.
Código:
if (isset ($_REQUEST['guardar'])){ // Es decir, si pulso el botón de continuar
if (isset ($_SESSION['token']) && $_POST['token'] == $_SESSION['token']){
//valor_oculto es un campo oculto del formulario "form1".
if ((isset($_POST["valor_oculto"])) && ($_POST["valor_oculto"] == "form1")) {
$otra_insercion = sprintf ("UPDATE `contenido_table` SET contenido_texto=%s, contenido_texto_ingles=%s, contenido_texto_gallego=%s, contenido_texto_frances=%s, contenido_texto_italiano=%s, contenido_texto_aleman=%s, contenido_texto_portugues=%s WHERE seccion_id_seccion=%d",
GetSQLValueString($_POST['contenido_texto'], "text"),
GetSQLValueString($_POST['contenido_texto_ingles'], "text"),
GetSQLValueString($_POST['contenido_texto_gallego'], "text"),
GetSQLValueString($_POST['contenido_texto_frances'], "text"),
GetSQLValueString($_POST['contenido_texto_italiano'], "text"),
GetSQLValueString($_POST['contenido_texto_aleman'], "text"),
GetSQLValueString($_POST['contenido_texto_portugues'], "text"),
GetSQLValueString($id, "int"));
$consulta_otra_insercion = mysql_query($otra_insercion, $conexion)
or die(mysql_error());
header ("location: ../ver_seccion.php?id=".$id."&nivel=".$nivel."");
}
} // Aquí se cierra el if de si está puesta el "valor_oculto", y si es el de form1
} // Cierre del token
} // Cierre de si fue pulsado el botón de continuar
$_SESSION['token'] = $token = md5(uniqid(mt_rand(), true));
... .... .... ...
<form action="tipo_contenido.php?id=<?php echo $id?>&nivel=<?php echo $nivel?>" method="post" name="form1" id="form1">
<!-- ************* SEGUNDA TABLA ************* -->
<table width="950" align="center" bgcolor="#F0F0F0">
<!-- TERCERA FILA -->
<tr>
<!-- PRIMERA COLUMNA -->
<td align="left" valign="top">
<!-- ************* CUARTA TABLA (dentro de la primera columna de la tercera fila de la segunda tabla)-->
<table width="100%">
<?php
//Aquí hace un switch. Y según cual sea el id del idioma, sabe qué texto le tiene que poner:
do {
switch ($fila_idiomas3['idioma_id_idioma']) {
case 1:
$name = 'contenido_texto';
$num++;
break;
case 2:
$name = 'contenido_texto_gallego';
$num++;
break;
case 3:
$name = 'contenido_texto_ingles';
$num++;
break;
case 4:
$name = 'contenido_texto_frances';
$num++;
break;
case 5:
$name = 'contenido_texto_italiano';
$num++;
break;
case 6:
$name = 'contenido_texto_aleman';
$num++;
break;
case 7:
$name = 'contenido_texto_portugues';
$num++;
break;
}
?>
<!-- QUINTA FILA (dentro de la cuarta tabla) -->
<tr>
<!-- PRIMERA COLUMNA DE ESA SEGUNDA FILA -->
<td align="left" valign="top"> <b> Texto de contenido en
<?php echo $fila_idiomas3['idioma_nombre'];?>:</b>
</td>
<!-- SEGUNDA COLUMNA DE ESA SEGUNDA FILA -->
<td align="left" valign="top">
<textarea id=<?php echo $num ?> name="<?php echo "".$name; ?>" rows="3" cols="40">
<?php echo htmlentities($fila_contenido[''.$name], ENT_COMPAT, 'iso-8859-1'); ?>
</textarea>
</td>
</tr> <!-- Cierre de la quinta fila de la cuarta tabla -->
<?php
} // Cierra al do que va con el switch
// Este while se corresponde con el anterior do
while ($fila_idiomas3 = mysql_fetch_assoc($consulta_idiomas3));
?>
<!-- SEXTA FILA (dentro de la cuarta tabla -->
<tr>
<!-- PRIMERA COLUMNA DE LA CUARTA FILA -->
<td colspan="2" align="center" valign="top" nowrap="nowrap">
<input name = "guardar" type="submit" value="Guardar" />
<input type="hidden" name ="token" value="<?php echo $token?>"/>
</td>
</tr> <!-- Cierre de la sexta fila -->
</table> <!-- Cierre de la CUARTA TABLA (dentro de la primera columna de la tercera fila) *********** -->
</td> <!-- Cierre de la primera columna de la tercera fila ********* -->
</tr> <!-- Cierre de la tercera fila ************** -->
</table> <!-- Cierre de la segunda tabla ***************-->
<!-- Otro campo oculto del "form1" (que nace en la línea 653) -->
<input type="hidden" name="valor_oculto" value="form1" />
</form> <!-- Cerramos el formulario "form1" (que nace en la línea 653) -->
... .... ....
<script type="text/javascript" src="../../../../ckeditor/ckeditor.js"></script>
<script type="text/javascript">
window.onload = function()
{
editor = CKEDITOR.replace('1',
{
height:"500", width:"820", bgcolor:"black"
});
}
{
editor = CKEDITOR.replace('2',
{
height:"500", width:"820", bgcolor:"black"
});
}
{
editor = CKEDITOR.replace('3',
{
height:"500", width:"820", bgcolor:"black"
});
}
{
editor = CKEDITOR.replace('4',
{
height:"500", width:"820", bgcolor:"black"
});
}
{
editor = CKEDITOR.replace('5',
{
height:"500", width:"820", bgcolor:"black"
});
}
{
editor = CKEDITOR.replace('6',
{
height:"500", width:"820", bgcolor:"black"
});
}
{
editor = CKEDITOR.replace('7',
{
height:"500", width:"820", bgcolor:"black"
});
}