Saludos.
Miren el siguiente código:
Código PHP:
<?php
//Convierte fecha de mysql a normal
function cambiaf_a_normal ($fecha){
ereg( "([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $mifecha);
$lafecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1];
return $lafecha;
}
//Convierte la fecha de normal a mysql
function cambiaf_a_mysql ($fecha){
ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $mifecha);
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1];
return $lafecha;
}
?>
<?php
// incluimos el archivo de conexion
$db_link = mysql_connect('xxx', 'xxx', 'xxx');
if(!$db_link){
die('No se pudo conectar: ' . mysql_error());
}
$db_selected = mysql_select_db('sistemanoticias', $db_link);
if(!$db_selected){
die('No se selecciono la BD: ' . mysql_error());
}
//definición de variables
$enviar = $HTTP_POST_VARS['enviar'];
$notTitulo = $HTTP_POST_VARS['notTitulo'];
$notTexto = $HTTP_POST_VARS['notTexto'];
$notCategoriaID = $HTTP_POST_VARS['notCategoriaID'];
$fechanot = $HTTP_POST_VARS['fechanot'];
$imagen = $HTTP_POST_VARS['imagen'];
$nombreimagen = $HTTP_POST_VARS['nombreimagen'];
// recibimos el formulario
if(isset($HTTP_POST_VARS['enviar']) && $HTTP_POST_VARS['enviar'] == 'Enviar'){
// comprobamos que el formulario no envie campos vacios
if(!empty($HTTP_POST_VARS['notTitulo']) && $HTTP_POST_VARS['notTexto'] &&
$HTTP_POST_VARS['notCategoriaID'] && $HTTP_POST_VARS['fechanot'] && $HTTP_POST_VARS['imagen']
&& $HTTP_POST_VARS['nombreimagen']){
// creamos las variables y les asignamos los valores a insertar
$notTitulo = $HTTP_POST_VARS['notTitulo'];
$notTexto = $HTTP_POST_VARS['notTexto'];
$notCategoriaID = $HTTP_POST_VARS['notCategoriaID'];
$fechanot = $HTTP_POST_VARS['fechanot'];
$imagen = $HTTP_POST_VARS['imagen'];
$nombreimagen = $HTTP_POST_VARS['nombreimagen'];
$imagen = addslashes(fread(fopen($imagen, "r"), filesize($imagen)));
// hacemos el INSERT en la BD*/
$sqlInsertNot = mysql_query("INSERT INTO sn_noticias
(notTitulo, notTexto, notCategoriaID, fechanot, imagen, nombreimagen)
VALUES ('$notTitulo', '$notTexto', '$notCategoriaID', '$imagen', '$nombreimagen', '".cambiaf_a_mysql($fechanot)."')",
$db_link) or die(mysql_error());
// enviamos un mensaje de exito
echo "Los datos fueron gurdados correctamente";
}else{
// si el formulario envia algun campo vacio
// enviamos un mensaje de error
echo "Debe llenar todos los campos del formulario";
}
}
?>
<!-- el formulario -->
<form name="noticia" enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF']; ?>" method="POST">
<p>
Título de la Noticia<br />
<input type="text" name="notTitulo" size="50" />
</p>
<p>
Texto de la Noticia<br />
<textarea name="notTexto" rows="10" cols="50"></textarea>
</p>
<p>
Fecha de la Noticia<br/>
<input type="text" name="fechanot" value="<?php echo cambiaf_a_normal($fechanot);?>" />
</p>
<p>
Nombre de la Imagen<br/>
<input type="text" name="nombreimagen" maxlength="100" />
</p>
<p>
Imagen<br/>
<input type="file" name="imagen" size="40"/>
</p>
<p>
Categoría<br />
<select name="notCategoriaID">
<option value="">Escoger de la Lista</option>
<?php
// asignamos una categoria a la noticia
// mediante un select
$sqlQueryCat = mysql_query("SELECT * FROM sn_categorias", $db_link)
or die(mysql_error);
// creamos un bucle while
// que nos muestre todas las categorias
// que tenemos guardadas en la BD
while($rowCat = mysql_fetch_array($sqlQueryCat)){
echo "<option value='$rowCat[cat_ID]'>$rowCat[catCategoria] - $rowCat[cat_ID]</option>";
}
?>
</select>
</p>
<p>
<input type="submit" name="enviar" value="Enviar" />
</p>
</form>
Debe llenar todos los campos del formulario.
No se a que se debe esto pues lleno todos los campos del formulario y nada, reitero esto antes funcionaba, no se que pasará aquí. Es la primera vez que intento insertar una imegen una base de datos. El campo para la imagen lo he definido de tipo longblob.
Muchas Gracias.