Foros del Web » Programando para Internet » PHP »

problema con modificar?

Estas en el tema de problema con modificar? en el foro de PHP en Foros del Web. hola,con este codigo me modifica bien los datos de mi tabla,pero tengo problemas con el campo password,ya que si dejo vacio el campo password en ...
  #1 (permalink)  
Antiguo 03/05/2006, 11:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 11 años, 9 meses
Puntos: 3
problema con modificar?

hola,con este codigo me modifica bien los datos de mi tabla,pero tengo problemas con el campo password,ya que si dejo vacio el campo password en el formulario,me lo actualiza como campo NULL,
esto me pasa si el usuario no desea modificarlo,porque solo realizara una modificacion en su cargo(por ejemplo).Si el usuario dejo vacio el campo password del formulario,quiere decir que mantendra su password actual,y no deberia modificarme a valor NULL.
como puedo solucionar ese problema?

aca especifico donde tengo el problema
Código PHP:
   //recibo el valor de las variables
   
$rut                   =   $_POST["rut"];
   
$codigo_rol            =   $_POST["codigo_rol"];
   
$pass                  =   $_POST["pass"];
   
$cargo                 =   $_POST["cargo"];
   
$eliminar              =   $_POST["eliminar"];
   
$pass_encri        =    md5($pass);

 include(
"/wamp/www/sistema_productos/conexion/conexion.php");

//le asigno la consulta que realizo a la tabla,para sacar el password 
$consulta=mysql_db_query("productos","select usu_password from usuarios 
where usu_rut_persona='$rut'"
); 
//aca recupero la fila,y se la asigno a la variable vacio 
$vacio mysql_fetch_assoc($consulta);  

//aqui solo me modifica codigo rol
   
if( $pass_encri!="" and $cargo!="" and $eliminar!="")
   {
    
mysql_db_query ("productos",
                   
"UPDATE usuarios set
                   rol_codigo ='$codigo_rol'
                   where
                   usu_rut_persona='$rut'"
);
                  }




/*En esta parte es en donde tengo el problema*/
/*aca si vacio es igual a NULL,me deberia mostrar ese mensaje,pero no lo hace 
y me modifica el campo password,con valor NULL*/ 
if(($vacio)==NULL

echo 
"<script>"
echo 
"alert('no modificado');"
echo 
"</script>"

/*si el campo no es vacio,deberia pasar a modificar,porque eso quiere decir, 
que se ingreso algo en el campo password*/ 
else if(!empty($codigo_rol)and !empty($cargo)and !empty($eliminar)) 

mysql_db_query ("productos"
"UPDATE usuarios set 
usu_password='$pass_encri' 
where 
usu_rut_persona='$rut'"
); 
}

/****************************************************/

//En esta parte no hay problema
//aqui solo me modifica cargo
if($codigo_rol!=""  and $pass_encri!="" and $eliminar!="")
   {
   
mysql_db_query ("productos",
                   
"UPDATE usuarios set
                   usu_cargo='$cargo'
                   where
                   usu_rut_persona='$rut'"
);
                   }

//aqui solo me modifica la variable eliminar
   
if($codigo_rol!=""  and $pass_encri!=""  and $cargo!="")
   {
   
mysql_db_query ("productos",
                   
"UPDATE usuarios set
                   usu_eliminado='$eliminar'
                   where
                   usu_rut_persona='$rut'"
);
                   }

//aca se modifican todos los datos,si el usuario lo estima conveniente
  
else
  {

   
mysql_db_query ("productos",
                   
"UPDATE usuarios set
                   rol_codigo ='$codigo_rol',
                   usu_password='$pass_encri',
                   usu_cargo='$cargo',
                   usu_eliminado='$eliminar'

                   where
                   usu_rut_persona='$rut'"
);


    } 

Última edición por -thor-; 03/05/2006 a las 11:34
  #2 (permalink)  
Antiguo 03/05/2006, 12:44
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 11 años, 7 meses
Puntos: 2
Por lo que entiendo, si $vacio no es NULL es porque la consulta devolvió algun resultado. No entiendo bien tu script, pero, para verificar si el usuario ingreso algo en un campo de texto, deberias utilizar algo como if (trim($_POST['campo') != "") y no verificar el resultado de una consulta.
Saludos.
  #3 (permalink)  
Antiguo 03/05/2006, 13:01
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 11 años, 9 meses
Puntos: 3
Cita:
Iniciado por Notwen
Por lo que entiendo, si $vacio no es NULL es porque la consulta devolvió algun resultado. No entiendo bien tu script, pero, para verificar si el usuario ingreso algo en un campo de texto, deberias utilizar algo como if (trim($_POST['campo') != "") y no verificar el resultado de una consulta.
Saludos.
Pero en la parte de password,si el campo es NULL,no deberia devolver nada,en cambio si el usuario,deja ese en campo en blanco,me devuelve valor vacio,y me actualiza el campo password con valor NULL.
Como logro,que no devuelva NULL,si el usuario no ingreso nada en ese campo,es decir lo dejo vacio,porque no desea actualizarlo.
Por esa razon,habia echo esa consulta,que compruba,si el campo esta vacio o no.
gracias
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 17:07.