Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/07/2008, 08:42
pcadict0
 
Fecha de Ingreso: abril-2008
Mensajes: 70
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: error al borrar y actualizar archivos

Gracias a los dos por sus respuestas, ya lo he solucionado!! :_)
No era problema d SQL, aunq el error q daba así lo parecía, sino d directorio y d "algo" q no entiendo bien el xq no servía.

Por si puede servir a alquien d ayuda, postearé el código y explicaré el error:

Código PHP:
<?php
  
//aquí paso las variables del formulario q vienen d la pág anterior. La clave principal d la tabla 'clientes' es la variable d sesión
 
$correo  $_SESSION["MM_Username"]; 
 
$contra  $_POST["contra"];
 
$nombre  $_POST["nombre"];
 
$tlf  $_POST["tlf"];
 
$direccion  $_POST["direccion"];
 
$localidad  $_POST["localidad"];
 
$borrar $_POST["borrar"];
 
 
    
mysql_query("select * from clientes where correo = $correo"); 
    
//aquí borra la imagen en el caso d q la encuentre
    
if (!($borrar=="images2/"))
        
unlink("./images2/$borrar");    
   
   
//aquí borro los registros de la BD, en el caso d q existan
   
if ((isset($_SESSION['MM_Username'])) && ($_SESSION['MM_Username'] != "")) {
  
$deleteSQL sprintf("DELETE FROM clientes WHERE correo=%s",
                       
GetSQLValueString($_SESSION['MM_Username'], "text"));

  
$deleteGoTo "/actualizar1.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$deleteGoTo .= (strpos($deleteGoTo'?')) ? "&" "?";
    
$deleteGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$deleteGoTo));
}


//ahora insertamos las variables d formulario "POST", q viene d actualizar1.php.De esta forma sólo actualizamos la foto 
if (isset($_POST['submit'])) {   
    if(
is_uploaded_file($_FILES['imagen']['tmp_name'])) { 
     
        
$ruta_destino "images2/"
        if(
move_uploaded_file($_FILES['imagen']['tmp_name'], $ruta_destino $_FILES['imagen']['name']));
       
       
  
mysql_select_db($database_base$base);
  
$Result1 mysql_query($deleteSQL$base) or die(mysql_error());

 
$query "INSERT INTO clientes  
    VALUES ('$correo','$contra', '$nombre', '$tlf','$direccion','$localidad', '"
.$_FILES['imagen']['name']."')"
                
mysql_query($query) or die(mysql_error()); 
        }  
    }  
?>

La varable de formulario $borrar se corresponde con la imagen a borrar, aunque ésta se llame "imagen" en el formulario. He asignado el valor d la imagen al campo oculto "borrar" en el formulario y he eliminado la variable del juego d registros llamada $imagen. Le he dado el nombre d borrar para evitar q pudiese interferir con el campo d archivo, q repito se llama imagen. Ahora lo borra perfectamente e inserta correctamente los datos en la BD, los mismo datos a excepción d la imagen.

Si alguien necesita q le explique un poco más algo sobre el formulario, la tabla d la BD o la pág actualizar1.php, por favor, comuníquenlo, q x una vez a lo mejor soy yo el q ayuda a otro a solucionar sus problemas en estos foros

Un fuerte saludo a tod@s!!!