Siempre he estado usando un codigo para crearme mis gestores de contenidos. Me desde el primer dia que tiene un 'fallo' y lo he ido subsanando a mano... Pero cansado de darle vueltas me gustaria tener su opinion.
El siguiente código, me introduce en una base de datos de noticias: titulo, sinopsis, contenido, si es destacada, su fecha y una imagen.
Código PHP:
<?
if(isset($_POST['new']))
{
$titulo = $_POST['titulo'];
$sinopsis = $_POST['sinopsis'];
$contenido = $_POST['contenido'];
$destacada = $_POST['destacada'];
$fecha = $_POST['fecha'];
$qstart = "INSERT INTO noticias(titulo, sinopsis, contenido, destacada, fecha";
$qend = "values('".$titulo."','".$sinopsis."', '".$contenido."', '".$destacada."', '".$fecha."'";
if (isset($_FILES['archivo']['name']) ) {
$nimagen = $_FILES['archivo']['name'];
$newfile = $_SERVER['DOCUMENT_ROOT'].$dirgaleria."".$nimagen;
if (move_uploaded_file($_FILES['archivo']['tmp_name'], $newfile) ) {
chmod($newfile, 0777);
echo "Imagen añadida con exito!<br>";
} else {
echo "";
}
$qstart .= ", file";
$qend .= ", '".$nimagen."'";
}
$query = $qstart.") ".$qend.")";
mysql_query($query);
if (mysql_errno()) { echo "MySQL error ".mysql_errno().": ".mysql_error()."<br>"; exit; }
}
?>
<?
if(isset($_POST['edit']))
{
$titulo = $_POST['titulo'];
$sinopsis = $_POST['sinopsis'];
$contenido = $_POST['contenido'];
$destacada = $_POST['destacada'];
$fecha = $_POST['fecha'];
$query = "update noticias set titulo='".$titulo."', sinopsis='".$sinopsis."', contenido='".$contenido."', destacada='".$destacada."', fecha='".$fecha."'";
if (isset($_FILES['archivo']['name'])) {
$nimagen = $_FILES['archivo']['name'];
$newfile = $_SERVER['DOCUMENT_ROOT'].$dirgaleria."".$nimagen;
if (move_uploaded_file($_FILES['archivo']['tmp_name'], $newfile)) {
chmod($newfile, 0777);
echo "Imagen añadida con exito!<br>";
} else {
echo "<br>";
}
$query .= ", file='".$nimagen."'";
}
mysql_query($query. 'where id='.$edit);
if (mysql_errno()) { echo "MySQL error ".mysql_errno().": ".mysql_error()."<br>"; exit; }
}
?>
Mi form para editar las noticias es:
Código:
Saben que codigo puedo agregar a la fila: <h1>Notícies: editar</h1> <form action="not.php" method="post" enctype="multipart/form-data"> <p> Título:<br /> <input type="text" name="titulo" class="texto" value="<?echo $fila["titulo"];?>" /> </p> <p> Sinopsis:<br /> <textarea name="sinopsis"><?echo $fila["sinopsis"];?></textarea> </p> <p> Descripción:<br /> <textarea name="contenido"><?echo $fila["contenido"];?></textarea> </p> <p> Fecha (AAAA/MM/DD):<br /> <input type="text" name="fecha" class="texto" value="<?echo $fila["fecha"];?>" /> </p> <p> Imagen:<br /> <input type="File" name="archivo" /> </p> <p> En portada:<br /> <select name="destacada" class="texto"> <OPTION VALUE="SI" <?if($fila["destacada"]=="SI") echo "selected";?>>SI <OPTION VALUE="NO" <?if($fila["destacada"]=="NO") echo "selected";?>>NO </select> </p> <p align="right"> <input type="Hidden" name="edit" value="<?echo $edit;?>" /> <input type="image" src="<?echo $CFG->imagedir?>/submit.gif" /> </p> </form>
<input type="File" name="archivo" />
Para que si no introduzco nada al editar, me mantenga la foto que tenia??
Gracias!!