P: ¿Cual es el esquema usado para identificar un usuario registrado en una página?
R: [ver ejemplo]
Aunque la identificación de un usuario es un problema que debe atenderse en el lado del servidor usando PHP o ASP o JSP, hay también una porción del código que debe hacerse del lado del cliente usando JavaScript.
El siguiente esquema es una "simulación" del proceso de validación, que pasa como parámetro el nombre del usuario. En una solución real, dicho usuario debe ser registrado en una variable del lado del servidor o una cookie.
Login0.htm Código PHP:
<html>
<head>
<script language="JavaScript">
var usuario = "";
function valParam(url, prmName){
var prmUpper = prmName.toUpperCase();
var prmPosic = url.indexOf(prmUpper);
var sepPos;
if (prmPosic != -1){
var sepPos = url.indexOf("&", prmPosic);
if (sepPos != -1){
return url.substring(prmPosic + prmUpper.length + 1, sepPos);
} else {
return url.substring(prmPosic + prmUpper.length + 1, url.length);
}
} else {
return "";
}
}
function getParameters(){
var remplaza = /+/gi;
var url = window.location.href;
var variable;
url = unescape(url);
url = url.replace(remplaza, " ");
url = url.toUpperCase();
usuario = valParam(url, "Usr");
}
function popup(){
open("login1.htm");
}
function salir(){
location.href = "login0.htm?Usr=.";
}
</script>
</head>
<body>
<form name="frm">
<table border="0" width="100%">
<tr>
<td width="100%" align="right">
<script language="JavaScript">
getParameters();
if (usuario == "" || usuario == "."){
document.write("<a href='#' onclick='popup()'>Conectarse</a>");
} else {
document.write("Hola " + usuario + " ");
document.write("<a href='login0.htm?Usr='>Desconectarse</a>");
}
</script>
</td>
</tr>
</table>
</form>
</body>
</html>
Login1.htm Código PHP:
<html>
<head>
<script language="JavaScript">
function reposiciona(){
var ancho = screen.width;
var alto = screen.height;
resizeTo(300, 250);
moveTo((ancho - 300) / 2, (alto - 250) / 2);
}
function entrar(){
opener.location.href = "login0.htm?Usr=" + document.form2.nomb.value;
close();
}
</script>
</head>
<body onload="reposiciona()">
<form name="form2">
<table border="0">
<tr>
<td align="right">
Nombre:
</td>
<td>
<input type="text" name="nomb"><br>
</td>
</tr>
<tr>
<td align="right">
Clave:
</td>
<td>
<input type="password" name="key"><br>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="button" value="Login" onclick="entrar()">
</td>
</tr>
</form>
</body>
</html>