Mi aplicacion solicita al usuario, para ingresar a un area reservada, su login y password. Una vez validado el ingreso, se muestra una pagina con varias opciones a elegir. Yo quisiera que una de estas alternativas otorgue, al usuario validado, la opcion de modificar/actualizar sus datos.
La mayoria de los ejemplos que se muestran en internet trabajan solicitando, mediante una caja de texto, un valor que luego se contrasta contra el valor del campo en la tabla. Ahi esta mi problema:
a) Tengo almacenado el login y el password en variables $_SESSION. En una primera instancia pense en solicitar nuevamente el password y compararlo contra el valor almacenado en $_SESSION. Entonces hice algo asi:
Código PHP :
$mpassword=$_SESSION['pusuario']; $mvalor=$POST['clave']; // mvalor ya esta validado para evitar injeccion etc..... if($mvalor!=$mpassword) { header("Location: http://www.xxx.com/area/x1.php?errno=1"); } else { include("connect.php"); // aqui sigo dando la instruccion de buqueda y pido que muestre... }
PERO, NUNCA me realizo la busqueda y se quedaba en el header.
Al depurar e imprimir con echo, observe que si queria mostrar en pantalla los dos valores ($mpassword y $mvalor) uno de ellos nunca se mostraba, pero, si solo pedia ver uno de ellos (CUALQUIERA) se pintaba sin problemas .
b) Me dije "ya no solicito el password porque lo tengo, pero solicitare otros dos datos" y en la instruccion de consulta escribi asi:
Código PHP :
$mquery="SELECT * FROM $tabla WHERE clave =" .$mpassword. "&& (egreso like '%".$megreso."%' && especia like '%".$mespec."%')";
porque si pongo "clave LIKE ..." obvia esta condicion y me muestra cualquier registro que cumpla los otros dos valores de los campos solicitados. Resultado: mensaje de error:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/xxx/public_html/area/x2.php on line 49
----
Por ello, me pregunto y les consulto: ¿Se puede usar el contenido de una variable $_SESSION para realizar este trabajo? Porque si pido el password en caja de texto y lo uso para compararlo contra el valor del campo "clave" de la tabla no tengo problemas, PERO si alguien colocase otro password, si lo supiera, podrian salir los datos de OTRA persona y NO QUIERO ESO.
Tal vez el problema es que se trata de tipos de variables distintas, ¿no?.
Entonces, ¿podrian ayudarme con esta dificultad?. Agradezco muchisimo de antemano las sugerencias que puedan darme, la verdad este asunto me tiene cabezona.
Nuevamente, mil gracias