Página inicial con el formulario de autentificación en PHP

Valoración del artículo:
Página que muestra el formulario donde el visitante debe introducir su nombre de usuario y contraseña, necesarios para acceder a la aplicación segura.
Publicado: 19/12/02
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Vamos a realizar la página inicial, que tiene el formulario de autentificación en el que el visitante debería rellenar con su usuario y contraseña. Como es la página inicial, la llamaremos index.php, que es el documento por defecto configurado en nuestro servidor.

Para realizar esta página, utilizaremos HTML básico, excepto en una comprobación que nos permitirá saber si se accede al formulario de nuevo por no haber introducido correctamente el usuario y contraseña, pues, en ese caso, habría que mostrar un cartelito informando que el usuario o la contraseña no son válidos.

Para pasar a la página inicial el mensaje de que el usuario/contraseña introducidos no son válidos utilizaremos una variable pasada a través de la URL. La llamaremos errorusuario, y si contiene la cadena "si" es que estamos recibiendo un error.

El código sería el siguiente:

<html>
<head>
<title>Autentificación PHP</title>
</head>
<body>
<h1>Autentificación PHP</h1>
<form action="control.php" method="POST">
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2" align="center"
<?if ($_GET["errorusuario"]=="si"){?>
bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span>
<?}else{?>
bgcolor=#cccccc>Introduce tu clave de acceso
<?}?></td>
</tr>
<tr>
<td align="right">USER:</td>
<td><input type="Text" name="usuario" size="8" maxlength="50"></td>
</tr>
<tr>
<td align="right">PASSWD:</td>
<td><input type="password" name="contrasena" size="8" maxlength="50"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="Submit" value="ENTRAR"></td>
</tr>
</table>
</form>
</body>
</html>


Nota: La variable errorusuario, recibida por la URL y que informa si se produjo un error anterior al introducir usuario y contraseña, se está recogiendo por mediación del array asociativo $_GET, que guarda todas las variables enviadas por la URL. Aprendemos más sobre pasar variables por la URL en la dirección: http://www.desarrolloweb.com/articulos/317.php

El formulario tiene el atributo action dirigido hacia la página "control.php", que es la que se encarga de recoger los datos y ver si son correctos. Será tratada en el próximo capítulo.

Comentarios
Fueron enviados 8 comentarios al artículo
4 comentarios no revisados
4 comentarios revisados:
Por: Jose
30/10/05
Hemos de tener cuidado en que la web cumpla las normativas del W3C (www.w3c.org) para que nuestra web sea compatible con el mayor número posible de navegadores. Por lo tanto, usar "submit" en lugar de "Submit", "post" en lugar de "POST", etc
Por: Rafael Varela
31/10/05
Yo me las arreglé de la siguiente forma para quitar el error de la variable no definida:

<?
if (isset($_GET["errorusuario"])){
if ($_GET["errorusuario"]=="si"){
echo '<b>Datos incorrectos</b>';
}else{
echo 'Esperando datos';
}
}else{
echo 'Esperando datos';
}
?>
Por: ivonne St
06/3/06
bien, tu codigo sirvio perfectamente, acomodando y limpiado el codigo original + lo tuyo queda perfecto

aqui va el codigo depurado
<?
if (isset($_GET["errorusuario"]))
{
if ($_GET["errorusuario"]=="si")
{
echo "Datos incorrectos" ;
}
else
{
echo "Introduce tu clave de acceso ";
}
}
else
{
echo 'Esperando datos';
}
?>

Blaster
Otra forma de ponerlo para los que no tenemos mucha idea
12/4/09
Un saludo a tod@s.Enhorabuena por la página (que por cierto acabo de descubrir buscando documentación para iniciarme en php) Pues eso... que para los que no tenemos mucha idea creo que es más sencillito ponerlo así...lo digo por no andar mezclando instrucciones php y html (eso creo yo vamos, corregirme los que entendeis del tema). Deciros que esto va justo despues de la etiqueta <tr>. Otra cosa... no entiendo muy bien el tema de la variable "errorusuario", es decir....en el formulario html no aparece... no entiendo como se puede usar con $_GET. Perdonad mi ignorancia pero estoy empezando.... ains que duro es esto......

<?
if ($_GET["errorusuario"]=="si")
{
echo"<td bgcolor=red>";
echo"Error, Introduzca datos nuevamente";
echo"</td>";
}
else
{
echo"<td bgcolor=silver>";
echo"Introduzca su clave de acceso";
echo"</td>";
}
?>

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Alojados en el grupo