PHP - problema con un campo

 
Vista:

problema con un campo

Publicado por ximena (4 intervenciones) el 02/05/2006 05:20:18
hola,de esta manera me modifica bien,mi codigo php,pero tengo problemas con el campo password,ya que si dejo vacio el campo password en el formulario de modificacion,me actualiza como campo null ,osea deja en blanco el campo de la base de datos.
esto me pasa si el usuario no desea modificar el campo password,porque solo desea modificar otros campos.

como puedo solucionar ese problema?y aqui posteo el codigo que utilizo para la modificacion

gracias

este es el codigo
****************************************************************************************************

$rut = $_POST["rut"];
$codigo_rol = $_POST["codigo_rol"];
$pass = $_POST["pass"];
$cargo = $_POST["cargo"];
$eliminar = $_POST["eliminar"];
$pass_encri = md5($pass);

if( $pass_encri=="" and $cargo=="" and $eliminar=="")
{
mysql_db_query ("registros",
"UPDATE nombres set
codigo ='$codigo'
where
usu_rut_persona='$rut'");
}

//aqui tengo el problema
if($codigo=="" and $cargo=="" and $eliminar=="")
{
mysql_db_query ("registros",
"UPDATE usuarios set
usu_password='$pass_encri'
where
usu_rut_persona='$rut'");
}

if($codigo=="" and $pass_encri=="" and $eliminar=="")
{
mysql_db_query ("registros",
"UPDATE usuarios set
usu_cargo='$cargo'
where
usu_rut_persona='$rut'");
}

if($codigo=="" and $pass_encri=="" and $cargo=="")
{
mysql_db_query ("registros",
"UPDATE usuarios set
usu_eliminado='$eliminar'
where
usu_rut_persona='$rut'");
}

else
{

mysql_db_query ("registros",
"UPDATE usuarios set
codigo ='$codigo',
usu_password='$pass_encri',
usu_cargo='$cargo',
usu_eliminado='$eliminar'

where
usu_rut_persona='$rut'");

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema con un campo

Publicado por atak (95 intervenciones) el 02/05/2006 23:30:01
Hola

Asegurate de que en tu tabla el campo:

***********************************************
usu_password sea VARCHAR(32)
************************************************

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con un campo

Publicado por ximena (4 intervenciones) el 03/05/2006 00:57:58
hola,el campo usu_password,si lo tengo como varchar(32)

Aqui verifico si el password es null, y de ser asi, que no deberia ingresarlo.y si tiene datos ingresar.

este es el codigo,que puede estar mal?

//aqui pregunto si es NULL
if($pass_encri==NULL)
{
echo"password sin modificacion";
}

//aqui deberia modificar
else if($codigo_rol!="" and $cargo!="" and $eliminar!="")
{
mysql_db_query ("productos",
"UPDATE usuarios set
usu_password='$pass_encri'
where
usu_rut_persona='$rut'");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con un campo

Publicado por atak (95 intervenciones) el 03/05/2006 01:50:37
Hola

tu variable: $codigo no existe !!

***********
//aqui tengo el problema
if($codigo=="" and $cargo=="" and $eliminar=="")
{
mysql_db_query ("registros",
"UPDATE usuarios set
usu_password='$pass_encri'
where
usu_rut_persona='$rut'");
}

*********

deberia ser :

$codigo_rol


Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con un campo

Publicado por ximena (4 intervenciones) el 03/05/2006 03:34:44
si la variable,la tengo bien,es que me equivoque al postear

este es el codigo y sigo con el problema
que puede ser?
gracias
aqui recibo los valores

$rut = $_POST["rut"];
$codigo_rol = $_POST["codigo_rol"];
$pass = $_POST["pass"];
$cargo = $_POST["cargo"];
$eliminar = $_POST["eliminar"];
$pass_encri = md5($pass);

//aqui no deberia modificar
if($pass_encri==NULL)
{
echo "password no modificado";
}
//aqui deberia modificar,si se ingresa algo en el campo de password
if($codigo_rol!="" and $cargo!="" and $eliminar!="")
{
mysql_db_query ("productos",
"UPDATE usuarios set
usu_password='$pass_encri'
where
usu_rut_persona='$rut'");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con un campo

Publicado por atak (95 intervenciones) el 03/05/2006 04:38:55
Hola

prueba con este Script y me dices que sale OK ?

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'")or die ("Error 01 ");
}

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con un campo

Publicado por ximena (4 intervenciones) el 03/05/2006 17:35:45
con el el script no me resulta,ahora realize una consulta,para comprobar,si lo que entra esta vacio,pero tampoco me resulta

en donde estara la falla :(?
gracias

esta es la consulta:
//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);

/*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'");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con un campo

Publicado por decano (10 intervenciones) el 03/05/2006 20:47:14
hola tun error esat en hacer consultas con campos vacios primero corrobora que no este vacios y le masndas error al usuario y segundo if(($vacio)==NULL) faltan comillas , saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar