codigo para crear sesion
Para iniciar creamos una base de datos y la nombramos login, ahora creamos 3 tablas con los siguientes datos:
CREATE TABLE IF NOT EXISTS `personal` (
`id` int(11) NOT NULL,
`nombre` varchar(50) NOT NULL
)CREATE TABLE IF NOT EXISTS `tipo_usuario` (
`id` int(11) NOT NULL,
`tipo` varchar(50) NOT NULL
)
`id` int(11) NOT NULL,
`nombre` varchar(50) NOT NULL
)CREATE TABLE IF NOT EXISTS `tipo_usuario` (
`id` int(11) NOT NULL,
`tipo` varchar(50) NOT NULL
)
CREATE TABLE IF NOT EXISTS `usuarios` (
`id` int(11) NOT NULL,
`usuario` varchar(30) NOT NULL,
`password` varchar(50) NOT NULL,
`id_personal` int(11) NOT NULL,
`id_tipo` int(11) NOT NULL
)
`id` int(11) NOT NULL,
`usuario` varchar(30) NOT NULL,
`password` varchar(50) NOT NULL,
`id_personal` int(11) NOT NULL,
`id_tipo` int(11) NOT NULL
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
CREATE TABLE IF NOT EXISTS `personal` (
`id` int(11) NOT NULL,
`nombre` varchar(50) NOT NULL
)
CREATE TABLE IF NOT EXISTS `tipo_usuario` (
`id` int(11) NOT NULL,
`tipo` varchar(50) NOT NULL
)
CREATE TABLE IF NOT EXISTS `usuarios` (
`id` int(11) NOT NULL,
`usuario` varchar(30) NOT NULL,
`password` varchar(50) NOT NULL,
`id_personal` int(11) NOT NULL,
`id_tipo` int(11) NOT NULL
)
|
Ahora creamos el script de conexión a MySQL, conexion.php:
<?php
//servidor, usuario de base de datos, contraseña del usuario, nombre de base de datos
$mysqli=new mysqli(“localhost”,”root”,”password”,”login”);if(mysqli_connect_errno()){
echo ‘Conexion Fallida : ‘, mysqli_connect_error();
exit();
}
?>
//servidor, usuario de base de datos, contraseña del usuario, nombre de base de datos
$mysqli=new mysqli(“localhost”,”root”,”password”,”login”);if(mysqli_connect_errno()){
echo ‘Conexion Fallida : ‘, mysqli_connect_error();
exit();
}
?>
1
2
3
4
5
6
7
8
9
|
<?php
//servidor, usuario de base de datos, contraseña del usuario, nombre de base de datos
$mysqli=new mysqli(“localhost”,“root”,“password”,“login”);
if(mysqli_connect_errno()){
echo ‘Conexion Fallida : ‘, mysqli_connect_error();
exit();
}
?>
|
Para llamar la conexión creamos la pantalla principal con el formularios de login, index.php:
<?php
require(‘conexion.php’);session_start();
require(‘conexion.php’);session_start();
if(isset($_SESSION[“id_usuario”])){
header(“Location: welcome.php”);
}
header(“Location: welcome.php”);
}
if(!empty($_POST))
{
$usuario = mysqli_real_escape_string($mysqli,$_POST[‘usuario’]);
$password = mysqli_real_escape_string($mysqli,$_POST[‘password’]);
$error = ”;
{
$usuario = mysqli_real_escape_string($mysqli,$_POST[‘usuario’]);
$password = mysqli_real_escape_string($mysqli,$_POST[‘password’]);
$error = ”;
$sha1_pass = sha1($password);
$sql = “SELECT id, id_tipo FROM usuarios WHERE usuario = ‘$usuario’ AND password = ‘$sha1_pass'”;
$result=$mysqli->query($sql);
$rows = $result->num_rows;
$result=$mysqli->query($sql);
$rows = $result->num_rows;
if($rows > 0) {
$row = $result->fetch_assoc();
$_SESSION[‘id_usuario’] = $row[‘id’];
$_SESSION[‘tipo_usuario’] = $row[‘id_tipo’];
$row = $result->fetch_assoc();
$_SESSION[‘id_usuario’] = $row[‘id’];
$_SESSION[‘tipo_usuario’] = $row[‘id_tipo’];
header(“location: welcome.php”);
} else {
$error = “El nombre o contraseña son incorrectos”;
}
}
?>
<html>
<head>
<title>Login</title>
</head>
} else {
$error = “El nombre o contraseña son incorrectos”;
}
}
?>
<html>
<head>
<title>Login</title>
</head>
<body>
<form action=”<?php $_SERVER[‘PHP_SELF’]; ?>” method=”POST” >
<form action=”<?php $_SERVER[‘PHP_SELF’]; ?>” method=”POST” >
Usuario:
<br />
Password:
<br />
</form>
<br />
</body>
</html>
</html>
Al inicio del script verifica si la variable $_POST no esta vacía, en caso de estar vacía se salta todo y muestra el formulario, el formulario envía los datos por método POST pero a si mismo con la función action=”<?php $_SERVER[‘PHP_SELF’]; ?>”, al haber datos en POST los recibe y genera el SHA1 del password para evalúa si existe en la base de datos junto con el usuario.
|
Cunado el usuario y contraseña son correctos se crean 2 variables de sesión y se redirecciona a la página de Inicio para usuarios registrado
No hay comentarios.:
Publicar un comentario