Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error al sobreescribir imagen

Estas en el tema de Error al sobreescribir imagen en el foro de PHP en Foros del Web. Buenas tardes, He creado una zona de administración en la que puedo editar noticias. El problema es que no consigo sobreescribir las imágenes. He intentado ...
  #1 (permalink)  
Antiguo 04/07/2014, 09:18
 
Fecha de Ingreso: diciembre-2010
Mensajes: 20
Antigüedad: 13 años, 3 meses
Puntos: 0
Error al sobreescribir imagen

Buenas tardes,

He creado una zona de administración en la que puedo editar noticias. El problema es que no consigo sobreescribir las imágenes. He intentado hacerlo con un if para que, en el caso de que no haya subida haga un select, y sino, haga otro. Aún así, solo me entra por el primer select, con lo que no se sobreescribe la imagen ¿Me podríais ayudar?

Código HTML:
<form action="actualizarnoticias.php" method="post" enctype="multipart/form-data" name="noticias" id="modulonoticias">

 <label for="atitular"></label>
  <input type="text" class="grande" name="atitular" placeholder="" value="<?php echo $fila['titular']?>" id="atitular" accesskey="t" tabindex="1">
 <br>
 <br>
 
   <label for="aaut"></label>
  <input class="grande" type="text" name="aaut" id="naut" accesskey="a" tabindex="2" placeholder=""  value="<?php echo $fila['autor'] ?>">
 <br>
 <br>
  <label for="adat"></label>
  <input class="grande" type="text" name="adat" id="ndat" accesskey="a" tabindex="3" placeholder=""  value="<?php echo $fila['data'] ?>">
 <br>
 <br>
  <input type="text" id="datepicker" placeholder="dd/mm/aaaa" name="afecha" tabindex="4" value="<?php echo date_format($date, 'd/m/Y');?>">
  <br>
  <br>
 <textarea accesskey="s" tabindex="5" name="aarticulo"><?php echo $fila["texto"] ?></textarea>
<script type="text/javascript">
CKEDITOR.replace( 'aarticulo' );
</script>
 <br>
<br>
 <br>
 <input type="file" name="afoto" id="afoto" accesskey="f" tabindex="6">
 <br>
<br>
	<input type="hidden" name="aid" value="<?php echo $fila['id'] ?>">
  <input type="submit" name="guardar" id="guardar" value="Guardar" accesskey="g" tabindex="7">
<br>
</form><?php };?> 
Este formulario llama al siguiente código:

Código PHP:
if(isset($_POST["atitular"])){
if(
$_POST["afoto"]==""){
$aid=$_POST["aid"];
$atit=$_POST["atitular"];
$aaut=$_POST["aaut"];
$adata=$_POST["adat"];
$fec explode('/'$_POST['afecha']);
$afecha "{$fec[2]}-{$fec[1]}-{$fec[0]}";
$aart=$_POST["aarticulo"];
$sql="UPDATE noticias SET titular='$atit',autor='$aaut',data='$adata',texto='$aart',fecha='$afecha' WHERE id=$aid";
mysql_query($sql) or die("Error: ".mysql_error());
header("Location:admin_noticias.php");}
else{
$aid=$_POST["aid"];
$sql="SELECT imagen FROM noticias WHERE id=$aid";
$resultado=mysql_query($sql) or die("Error: ".mysql_error());
$fila=mysql_fetch_array($resultado);
unlink("imagenes/noticias/".$fila["imagen"]);
$atit=$_POST["atitular"];
$aaut=$_POST["aaut"];
$adata=$_POST["adat"];
$fec explode('/'$_POST['afecha']);
$afecha "{$fec[2]}-{$fec[1]}-{$fec[0]}";
$aart=$_POST["aarticulo"];
$afoto=$_FILES["afoto"]["name"];
$afototemp=$_FILES["afoto"]["tmp_name"];
copy($nfototemp"imagenes/noticias/".$_FILES["afoto"]["name"]);
$sql="UPDATE noticias SET titular='$atit',autor='$aaut',data='$adata',texto='$aart',fecha='$afecha', imagen='$afoto' WHERE id=$aid";
mysql_query($sql) or die("Error: ".mysql_error());
header("Location:admin_noticias.php");
    }


Última edición por rostein; 04/07/2014 a las 10:56
  #2 (permalink)  
Antiguo 04/07/2014, 17:38
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Error al sobreescribir imagen

El problema es que estás "verificando" la imagen usando $_POST['afoto'] en lugar de $_FILES['afoto'] y te sugier hacerlo así:

Código PHP:
Ver original
  1. if($_FILES['afoto']['error'] == 0) {
  2.      // Subio un archivo
  3. } elseif($_FILES['afoto']['error'] == 4) {
  4.      // No se seleccionó archivo para subir
  5. } else {
  6.     // Se produco un error al subir el archivo
  7. }
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 05/07/2014, 03:07
 
Fecha de Ingreso: diciembre-2010
Mensajes: 20
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Error al sobreescribir imagen

Muchas gracias. Cuando llevas mucho tiempo escribiendo código ya dejas de ver las cosas.

Un saludo.

Etiquetas: fecha, formulario, mysql, select, sobreescribir, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:23.