dominios y alojamiento web en hostalia

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

19 de diciembre de 2002
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.
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.

Compartir en redes sociales

Comentarios
Fueron enviados 22 comentarios al artículo
12 comentarios no revisados
10 comentarios revisados:
Por: Jose
30/10/2005
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/2005
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/2006
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/2009
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>";
}
?>

pedrolp
Problemas
31/8/2010
que tal, bueno mas que nada esta bueno el material pero tengo un problema... he hecho el codigo tal y como dice en el manual, pero creo que el index.php esta mal... bueno eso creo, no se si le pudieran dar una revision al codigo en la parte de la cabecera en donde te dice que ingreses tus datos... justo cuando comienza el codigo php... no se si pudieran hacer algo mas detallado esta parte, ya que lo he hecho y me salen errores... y cuando intento arreglarlo, el archivo control.php no hace nada, no me redirige hacia aplicacion.php sino que se keda estancado en control.php o me salen errores, xfa si pudieran arreglar esto xq me es importante aprender estos pasos... gracias

pedrolp
buenos datos!
01/9/2010
Olas, escribi pensando que habia un pekeño error, pero al analizar detalladamente me di cuenta que el error estaba en mi codigo, en un bendito caracter! lo pude solucionar! (Y) aunq igual me parece que hay un pekeño error en la parte del comentario en que si ingresa mal la clave (en la etiketa <td> cuando sale el mensajito de error) de todas formas los aportes arriba mostrados sirven de muxo (Y)

alberto...
Da error el ejemplo
07/9/2010
Hola:
No puedo más que agradecer a Desarrollo Web, y en especial a Miguel, por los excelentes artículos que mucho me ha ayudado para aprender y comprender PHP.
Pero el motivo de este comentario es sumarme a otros que aparecen en el sitio, en el sentido de que el código que se publica en este artículo de autentificación, da error de código PHP.
Me quedé en la página index porque aparece el código PHP en el navegador. Busqué por todas partes para ver dónde cometí el error, pero no lo encuentro. Copié el código de la página y lo pegué y lo mismo.
Por favor, ¿podría alguien revisar el código? porque seguramente que el error está al mezclarse los códigos PHP con html.
Gracias
[php] etiqueta html
16/12/2010
Buenas, no soy programador y hay ciertas cosas referentes a la sintaxis que me desconciertan a veces. Por ejemplo:


1.- <td colspan="2" align="center"
2.- <?if ($_GET["errorusuario"]=="si"){?>
3.- bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span>
4.- <?}else{?>
5.- bgcolor=#cccccc>Introduce tu clave de acceso


Línea 6: "...bgcolor=#cccccc>"; no se corresponde con ninguna "<" previa.

¿Eso es así?

Gracias de antemano y saludos cordiales.
[php] etiqueta html
16/12/2010
¡Ups!
Edito: "linea 5".

neri
Gracias
25/8/2011
Justo lo que estaba buscando..... gracias por la corrección.

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...