Código fuente Ya.

Puede ejecutar la o las páginas para probar el concepto inmediatamente.

 

Concepto:Inicio de sesión a un sitio (Login)

El concepto trata sobre:php,mysql
Autor:

Retornar

Nombre del archivo:pagina1.html

Comentarios
Desde este menú accedemos a las funcionalidades que presenta este concepto.
Nombre del archivo:pagina2.php

Comentarios
Esta página si existe la tabla usuarios procede a borrarla y seguidamente la crea con dos campos que almacenan
el nombre de usuario y su clave:
$registros=mysql_query("drop table if exists usuarios",$conexion) or
  die("Problemas en el select:".mysql_error());

$registros=mysql_query("create table usuarios (
                            nombre varchar(40) primary key,
                            clave varchar(20)
                         )",$conexion) or
  die("Problemas :".mysql_error());

Procedemos luego a redireccionar a la pagina1.html:
header("Location: pagina1.html");
Nombre del archivo:pagina3.html

Comentarios
Este formulario HTML solicita el ingreso del nombre de usuario y su clave (que debe repetirse dos veces su carga)
Nombre del archivo:pagina4.php

Comentarios
Tenemos dos funciones, en la primera validamos que se hayan cargado todos los datos y que las claves ingresadas
sean iguales, en la variable $error concatenamos los distintos mensajes de error a mostrar, luego si la variable
$error es distinta a cadena vacía procedemos a mostrarla y finalizamos la ejecución del programa PHP 
llamando a la función die():
function validarDatosIngresados()
{
  $error="";
  if (empty($_REQUEST['nombre']))
    $error=$error . "El nombre de usuario no puede ser cadena vacía.<br>";    
  if (empty($_REQUEST['clave1']))
    $error=$error . "La clave no puede ser vacía<br>";
  if (empty($_REQUEST['clave2']))
    $error=$error . "La clave no puede ser vacía<br>";
  if ($_REQUEST['clave1']!=$_REQUEST['clave2'])
    $error=$error . "Las claves deben ser iguales<br>";

  if ($error!="")
  {
    echo $error;
    echo "<a href=javascript:window.history.back()>Retornar e ingresar datos correctos.</a><br>";
    die();
  }
}

La función altaDatos procede a conectarse con la base de datos y efectúa el insert en la tabla usuarios:
function altaDatos()
{
  $conexion=mysql_connect("localhost","pepe","123456") or
    die("Problemas en la conexion");

  mysql_select_db("codigofuenteya",$conexion) or
    die("Problemas en la selección de la base de datos");

  mysql_query("insert into usuarios(nombre,clave) values
     ('$_REQUEST[nombre]','$_REQUEST[clave1]')", $conexion) 
         or die("Error:".mysql_error());
} 
Nombre del archivo:pagina5.html

Comentarios
Este archivo es un formulario que solicita el ingreso del nombre de usuario y su clave. Cuando se presiona el
botón submit procede a llamar a la página: pagina6.php
Nombre del archivo:pagina6.php

Comentarios
Este archivo lo primero que debe hacer es llamar a la función session_start() antes de cualquier salida HTML,
de no hacerlo así se mostrará un error:
<?php
session_start();
?>
<html>
<head>

Luego de conectarnos con la base de datos procedemos a ejecutar un select para verificar si existe el nombre
de usuario que se ingresó en el formulario que llamó a esta página:
$conexion=mysql_connect("localhost","pepe","123456") or
  die("Problemas en la conexion");

mysql_select_db("codigofuenteya",$conexion) or
  die("Problemas en la selección de la base de datos");

$registro=mysql_query("select * from usuarios where nombre='$_REQUEST[nombre]' 
                       and clave='$_REQUEST[clave]'",$conexion) or
  die("Error:".mysql_error());

if ($reg=mysql_fetch_array($registro))
{

Si el if se verifica verdadero es que existe un usuario con la clave ingresada, procedemos entonces a crear 
una variable de sesión donde almacenamos el nombre de usuario, disponemos un hipervínculo para ingresar al
sitio propiamente dicho:
  $_SESSION['nombre']=$reg['nombre'];
  echo "<a href=\"pagina7.php\">Puede ingresar al sitio</a>";
En caso negativo procedemos a informar:
else
{
  echo "No esta autorizado a ingresar al sitio (Clave o nombre de Usuario incorrecto)";
}

Nombre del archivo:pagina7.php

Comentarios
Esta página lo primero que hace es verificar si existe la variable de sesión creada en la página anterior,
si no existe no muestra el resto de la página ya que el visitante no está registrado como usuario:
<?php
session_start();
if (!isset($_SESSION['nombre']))
  die("No esta autorizado a ingresar.");
?>
En caso que exista procedemos a mostrar su nombre:
<?php
  echo "Bienvenido $_SESSION[nombre]";
?>
Nombre del archivo:pagina8.php

Comentarios
Esta página tiene por objetivo eliminar la variable de sesión, luego para poder ver la pagina7.php el usuario
debe logearse (es decir pasar nuevamente por la validación de su nombre y clave):
<?php
session_start();
session_destroy();
?>

Retornar



Código Fuente Ya - 2015