Foros del Web » Programando para Internet » PHP »

Me modifica 2 campos y le especifico que solo 1

Estas en el tema de Me modifica 2 campos y le especifico que solo 1 en el foro de PHP en Foros del Web. Como puede ser que en este script con el que subo 3 imagenes cuando subo la segunda imagen automaticamente me elimina de la base de ...
  #1 (permalink)  
Antiguo 03/02/2003, 19:23
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
Me modifica 2 campos y le especifico que solo 1

Como puede ser que en este script con el que subo 3 imagenes cuando subo la segunda imagen automaticamente me elimina de la base de datos el link de la 3º q ya estaba subida.

es decir ya tengo subidas las 3 , y decido que quiero cambiar la segunda , bueno pues subo la segunda y de la base de datos lo que hace es borrarme una parte del link , si antes al imagen era micarpeta/miimagen.jpg pues me deja micarpeta/ nada mas aunq la imagen x supuesto sigue en el directorio.


Solo me pasa con esa , al subir la 2º me modifica la 3º , no lo entiendo.

el codigo de la pagina entera es el siguiente:
Código PHP:
<?require ("aut_verifica.inc.php");?>
<?PHP
$nivel_acceso
=10;
if (
$nivel_acceso $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}
?>
<HTML>
<HEAD>

<TITLE>MUSIKAID .: El presente de la futura m&uacute;sika :. </TITLE>
<link rel ="stylesheet" type="text/css" href="../forms.css">

<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>


<BODY BGCOLOR="#ffffff" VLINK="#000066" ALINK="#000066" LINK="#333333" TEXT="#333333"  face="Verdana, Arial, Helvetica, sans-serif" size="2" >
<?php include("../formato.php"?> 
<?php CabeceraPagina(); ?> 
<table width="740" border="2" cellpadding="0" cellspacing="0">
  <tr> 
    <td height="45" width="734" valign="top">
      <div align="center"><img src="../imagenes/altasgrupos.jpg" width="272" height="40"></div>
    </td>
  </tr>
  <tr> 
    <td height="95" valign="top" background="../imagenes/fondo2.jpg "> 
       <?php menu_cpanelgrupos(); ?>

       
<?

if ($usuario_login == "")
{
    echo 
"HA HABIDO PROBLEMAS CON LA AUTENTIFICACIÓN POR FAVOR VUELVA A AUTENTIFICARSE";

}
Else
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//si venimos del upload de la primera foto:
if (isset ($upimagen)) {
set_time_limit(0);

$newimage sprintf ("$usuario_login/%s"$upimagen_name);
move_uploaded_file($upimagen$newimage);
$dbh mysql_connect("localhost""musikaid_user""pass");
     
mysql_select_db ("musikaid_altas"$dbh);
     
$sql "SELECT usuario FROM grupos";
$result mysql_query($sql);
echo 
mysql_error();
 
$sql "UPDATE grupos SET foto1='$newimage' WHERE usuario='$usuario_login'";
     
$result mysql_query($sql);
    echo 
mysql_error();


}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//si venimos del upload de la segunda foto:


    
if (isset ($upimagen2)) {
set_time_limit(0);
$newimage2 sprintf ("$usuario_login/%s"$upimagen2_name);
move_uploaded_file($upimagen2$newimage2);
$dbh mysql_connect("localhost""musikaid_user""pass");
     
mysql_select_db ("musikaid_altas"$dbh);
     
$sql "SELECT usuario FROM grupos";
$result mysql_query($sql);
echo 
mysql_error();
 
$sql "UPDATE grupos SET foto2='$newimage2' WHERE usuario='$usuario_login'";
     
$result mysql_query($sql);
    echo 
mysql_error();
    }
///////////////////////////////////////////////////////////////////////////////////////////////////
//miramos si venimos d añadir el logo
if (isset ($upimagen3)) {
set_time_limit(0);
$newimage3 sprintf ("$usuario_login/%s"$upimagen3_name);
move_uploaded_file($upimagen3$newimage3);
$dbh mysql_connect("localhost""musikaid_user""pass");
     
mysql_select_db ("musikaid_altas"$dbh);
     
$sql "SELECT usuario FROM grupos";
$result mysql_query($sql);
echo 
mysql_error();

 
$sql "UPDATE grupos SET logo='$newimage3' WHERE usuario='$usuario_login'";
     
$result mysql_query($sql);
    echo 
mysql_error();
$link mysql_connect("localhost""musikaid_user""pass");
mysql_select_db("musikaid_altas");
$sql "SELECT * FROM grupos WHERE usuario='$usuario_login'";
$result mysql_query($sql,$link);
echo 
mysql_error();
while (
$row mysql_fetch_row($result)){

?>

<form method="POST" action="cpanel_grupos_fotos.php" enctype="multipart/form-data" name="ubicaform" id="ubicaform" >
Su foto 1 actual es : <?echo $row['16']?><br>
Foto 1 : <input name="upimagen" type="file" id="upimagen">
<input name="addubica" type="submit" id="addubica" value="enviar" onclick="this.disabled='true'; this.value='La imagen se esta subiendo  por favor espere'; document.forms.ubicaform.submit();">
</form>
<form method="POST" action="cpanel_grupos_fotos.php" enctype="multipart/form-data" name="ubicaform2" id="ubicaform2" >
Su foto 2 actual es : <?echo $row['17']?><br>
Foto 2 : <input name="upimagen2" type="file" id="upimagen2">
<input name="addubica2" type="submit" id="addubica2" value="enviar" onclick="this.disabled='true'; this.value='La imagen se esta subiendo  por favor espere.'; document.forms.ubicaform3.submit();"> <br>
</form>
<form method="POST" action="cpanel_grupos_fotos.php" enctype="multipart/form-data" name="ubicaform3" id="ubicaform3" >
El nombre de la imagen de su logo es : <?echo $row['15']?><br>
logo : <input name="upimagen3" type="file" id="upimagen3">
<input name="addubica3" type="submit" id="addubica3" value="enviar" onclick="this.disabled='true'; this.value='La imagen se esta subiendo  por favor espere'; document.forms.ubicaform3.submit();"> <br>
</form>

<?



}

}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//sino venimos de ningun upload mostramos esto
Else {
    
$link mysql_connect("localhost""musikaid_user""pass");
mysql_select_db("musikaid_altas");

$sql "SELECT * FROM grupos WHERE usuario='$usuario_login'";
$result mysql_query($sql,$link);
echo 
mysql_error();
while (
$row mysql_fetch_row($result)){
?>


<form method="POST" action="cpanel_grupos_fotos.php" enctype="multipart/form-data" name="ubicaform" id="ubicaform" >
Su foto 1 actual es : <?echo $row['16']?><br>
Foto 1 : <input name="upimagen" type="file" id="upimagen">
<input name="addubica" type="submit" id="addubica" value="enviar" onclick="this.disabled='true'; this.value='La imagen se esta subiendo  por favor espere'; document.forms.ubicaform.submit();">
</form>
<form method="POST" action="cpanel_grupos_fotos.php" enctype="multipart/form-data" name="ubicaform2" id="ubicaform2" >
Su foto 2 actual es : <?echo $row['17']?><br>
Foto 2 : <input name="upimagen2" type="file" id="upimagen2">
<input name="addubica2" type="submit" id="addubica2" value="enviar" onclick="this.disabled='true'; this.value='La imagen se esta subiendo  por favor espere.'; document.forms.ubicaform3.submit();"> <br>
</form>
<form method="POST" action="cpanel_grupos_fotos.php" enctype="multipart/form-data" name="ubicaform3" id="ubicaform3" >
El nombre de la imagen de su logo es : <?echo $row['15']?><br>
logo : <input name="upimagen3" type="file" id="upimagen3">
<input name="addubica3" type="submit" id="addubica3" value="enviar" onclick="this.disabled='true'; this.value='La imagen se esta subiendo  por favor espere.'; document.forms.ubicaform3.submit();"> <br>
</form>
<?
}    
}
}

?>
      </div>
    </td>
  </tr>
</table>
<?php PiePagina(); ?>
</BODY>

</html>
no lo entiendo porq peor sucede

gracias y un saludo
  #2 (permalink)  
Antiguo 03/02/2003, 19:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Sabias que se pueden hacer "multiples Uploads" ..? .. tan solo tienes que usar los "file" como un array..

Ejemplo en las FAQ's de PHP de este foro lo tienes:
http://www.forosdelweb.com/showthrea...636#post296636

Un saludo,

pd: .. si usas mi script de autentificación .. Autentificator . deberias usar:

en:
if ($usuario_login == "")

por
if ($_SESSION['usuario_login'] =="")

Y así en todas las llamadas que hagas de $usuario_login que sea la variable de sesion que crea Autentificator tras un login correcto.

Es decir .. usar el valor de la variable de SESION .. De todas formas . .esa parte de verificación ya lo hace aut_verifica.inc.php ..

Última edición por Cluster; 03/02/2003 a las 19:39
  #3 (permalink)  
Antiguo 03/02/2003, 19:47
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
si , ya se qu s epuede , pero quiero hacerlo de uno en uno .

Lo de if $suario_login lo puse yo para q sino esta la variable usuaerio_login me avise porq el otro dia perdi bastante tiempo en un script y era debido a q se me habia olvidado poner lo de autverifica.

no has visto nada raro en mi script?

lo hice en forms separados tmb por sino el onclick event no me funcionaba y no em salia lo de subiendo , x favor espere.

un saludo
  #4 (permalink)  
Antiguo 04/02/2003, 02:21
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
Nadie ve nada raro?
  #5 (permalink)  
Antiguo 04/02/2003, 05:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
A simple vista .. en el código q pusistes no se ve nada "raro" ..

Ahora, ten en cuenta:

Si pones un código que hace algo con una Base de datos ... es probable que el error o forma de actuar de tu script no se deba a tu própio código sino al diseño de tu base de datos en si .. De tu tabla y de tus campos (tipo .. si usas autoincremental alguno .. ) .. Tambien a los propios datos que se deriva de la estructura de la misma ..

Por lo tanto .. si aparentemente el "código" está bien .. solo quedaría testear bien tu código al completo con tu Tabla(s) que uses e incluso con tus datos que tengas o estes probando ... Si quieres que alguien se dé la molestia de probar tu "aplicación" y ver que pasa .. deberias de poner aquí la estructura y datos que usa ese código ..

Lo que siempre digo: Cuantos mas datos aportes mejor se podrá dar una solución o probarlo bajo tus propias condiciones .. Recuerda que estamos en un foro .. y no estamos todos en tu casa ahí con tu PC viendo como va la cosa y diciendote prueba esto o lo otro .. Así q tendras que proporcionar dicha información ..

Un saludo,

Un saludo,
  #6 (permalink)  
Antiguo 04/02/2003, 07:47
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
ok pues aki van lso datos de mi tabla.

ID int(5) auto_increment Index
nombre_grupo varchar(30)
usuario varchar(10)
pass tinytext
email varchar(30)
nombre varchar(15)
apellidos varchar(30)
direccion varchar(40)
ciudad varchar(10)
provincia varchar(14)
pais varchar(10)
cpostal varchar(5)
telefono varchar(9)
fax varchar(9)
sautores varchar(5)
logo varchar(35)
foto1 varchar(35)
foto2 varchar(35)
nivel_acceso tinyint(4)


ahi estan , si necesitais algun dato ams yo encantado y si veis elgun arreoe o algo q podria emjorarse en mi db pues ta,b

Muchas gracias y un saludo
  #7 (permalink)  
Antiguo 04/02/2003, 15:38
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Prueba a ahacer el isset() con los botones de los formularios, no con los campos file. Si no me equivoco, los botones solo se crean cuando son pulsados. Seria:
Código PHP:
if (isset(addubica)){
...
}
if (isset(
addubica2)){
...
}
if (isset(
addubica3)){
...

Al menos yo desde siempre lo hacia con los botones.

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 04/02/2003, 15:54
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
Gracias Josemi pero no , asi no me sube ni la foto.


Si quereis ver lo que pasa podeis probarlo aqui:

Probar lo que pasa

usando como user "lord" y como pass "pringaos"

ahi dondo pone foto y logos.

tengo puesto que pinte el nombre que figura de cada imagen en la bd , ya vereis que subes la 3º y todo perfecto pero si despues sube la segunda se borra la tercera un parte

inexplicable
  #9 (permalink)  
Antiguo 04/02/2003, 15:58
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Perodn se me olvido los $ de las variables:
Código PHP:
if (isset($addubica)){

...

}

if (isset(
$addubica2)){

...

}

if (isset(
$addubica3)){

...


__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 04/02/2003, 16:06
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
ok pero yo lo probe con $ jeje
  #11 (permalink)  
Antiguo 04/02/2003, 16:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
La culpa fue del copypasteo. Tienes en el onclick de addubica2 y addubica3 el mismo document.forms.ubicaform3.submit().

Saludos.

PD: Menos mal que llevo gafas, que si no ...
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #12 (permalink)  
Antiguo 04/02/2003, 16:14
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
JOOOOOOOOOOOOOOOOOOOOOOder!!!!!! y llevo 3 dias probando de todo, ENORME JOSEMI , yo quiero de esas gafas encuentra errores jejej

MUCHISIMAS THANKS
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 11:56.