Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/01/2006, 09:18
Avatar de Seppo
Seppo
 
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Después de pensarlo un rato entendí xq hace eso... Te pongo tu codigo explicandolo y después pienso la solución

Código PHP:
<?php
if(!move_uploaded_file($temporal,$folder.$nombre))  { //ACÁ MUEVE EL ARCHIVO Y DEVUELVE FALSE, PORQUE LO MUEVE CORRECTAMENTE
         
$insertSQL "INSERT INTO noticias (fecha, titulo, bajada, ley_prensa, ruta_t, nombre_t, ley_detalle, contenido, portada, seccion, publicada) VALUES ('$fecha', '$titulo', '$bajada', '$ley_port_prensa', '$ruta_t', '$nombre_t', '$ley_detalle', '$contenido', '$HF', '$seccion', '$publicada')";
       
mysql_select_db($database$coneccion);
       
$Result1 mysql_query($insertSQL) or die(mysql_error()); ?>
    <script>
    alert("El archivo NO fue ingresado");
    location.href = "noticias.php";
    </script>
<? }
elseif(!
move_uploaded_file($temporal_t,$folder.$nombre_t)){ // = QUE EN EL PUNTO ANTERIOR. Ya están subidos los dos archivos y nuevamente tenés un false
         
$insertSQL "INSERT INTO noticias (fecha, titulo, bajada, ley_prensa, ley_detalle, contenido, portada, seccion, publicada, ruta, nombre) VALUES ('$fecha', '$titulo', '$bajada', '$ley_port_prensa', '$ley_detalle', '$contenido', '$HF', '$seccion', '$publicada', '$ruta', '$nombre')";
       
mysql_select_db($database$coneccion);
       
$Result1 mysql_query($insertSQL) or die(mysql_error()); ?>
    <script>
    alert("El archivo NO fue ingresado");
    location.href = "noticias.php";
    </script>
<? }
elseif(!
move_uploaded_file($temporal_t,$folder.$nombre_t) && !move_uploaded_file($temporal,$folder.$nombre)){ //acá NO PUEDE mover ninguno de los dos archivos, porque ya lo movió antes y no existen más en temporal
         
$insertSQL "INSERT INTO noticias (fecha, titulo, bajada, ley_prensa, ley_detalle, contenido, portada, seccion, publicada) VALUES ('$fecha', '$titulo', '$bajada', '$ley_port_prensa', '$ley_detalle', '$contenido', '$HF', '$seccion', '$publicada')";
       
mysql_select_db($database$coneccion);
       
$Result1 mysql_query($insertSQL) or die(mysql_error()); ?>
    <script>
    alert("El archivo NO fue ingresado");
    location.href = "noticias.php";
    </script>
<? }
else{
         
$insertSQL "INSERT INTO noticias (fecha, titulo, bajada, ley_prensa, ruta_t, nombre_t, ley_detalle, contenido, portada, seccion, publicada, ruta, nombre) VALUES ('$fecha', '$titulo', '$bajada', '$ley_port_prensa', '$ruta_t', '$nombre_t', '$ley_detalle', '$contenido', '$HF', '$seccion', '$publicada', '$ruta', '$nombre')";
       
mysql_select_db($database$coneccion);
       
$Result1 mysql_query($insertSQL) or die(mysql_error()); ?>
    <script>
    alert("El archivo fue ingresado exitosamente");
    location.href = "noticias.php";
    </script>
<?    }
    }
?>
La solución sería poner antes de los ifs
Código PHP:
$subida1 move_uploaded_file($temporal,$folder.$nombre);
$subida2 move_uploaded_file($temporal_t,$folder.$nombre_t);

//y hacer los chequeos

if (!$subida1) { 
//...
} elseif (!$subida2) { 
//...
} elseif (!$subida2 && !$subida1) { 
//...
} else {
//...