Hola aki te he hecho unos arreglos espero te ayude
formulario_sesion.php
Código PHP:
<?php session_start(); ?>
<?php
function filtrarInt($int)
{
$int = (int) $int;
if (is_int($int) )
{
return $int;
}
return 0;
}
?>
<!DOCTYPE html>
<html lang="es"> <!-- En HTML 5 con esta declaracion esta perfecto-->
<head>
<meta charset=utf-8>
<title>GobernaciónSD | Inicio de Sesion</title>
<link rel="stylesheet" type="text/css" href="../gob_styles/formulario_sesion.css" /> <!-- la declaracion del file de CSS va dentro del HEAD-->
<style> <!-- tus estilos mejor organizados-->
.font{font-size:300%;text-align:center;color:#333;font-family:aerial}
.input-label{display:block;width:120px;float:left;font-weight:bold;}
#usuario{width:120px;}
#pwd{width:120px;}
#error-msg{color:red;}
.list{list-style-type:none;font-size:135%;margin-left:auto;margin-right:auto;}
.ulclass{margin-left:auto;margin-right:auto;} <!-- esta clase aki en el HMTL la tienes como ulclass y en tu CSS la tienes como ul_class -->
</style>
</head>
<body>
<p><hr></p>
<p class="font"><b>Inicia tu Sesión</b><br><hr></p>
<div class="sesion_div">
<form action="http://gobernacionsd.comyr.com/php/control.php" method="post" name="form">
<input type="hidden" name="inicio" value="1" />
<ul class="ulclass">
<li class="list">
<label for="usuario" class="input-label">Usuario:</label> <!-- los labels para los input field -->
<input type="text" id="usuario" name="usuario" /> <!-- mejor declarar el size con css y asi todos los navegadores entenderan el mimso size -->
</li>
</ul>
<ul class="ulclass">
<li class="list">
<label for="pwd" class="input-label">Contraseña:</label>
<input type="password" id="pwd" name="pwd" />
</li>
</ul>
<ul class="ulclass">
<li class="list"><input type="submit" name="submit" value="Entrar" /></li>
</ul>
</form>
<?php if(isset($_GET['error']) && filtrarInt($_GET['error']) == 1): ?>
<p id="error-msg"> <?php echo "Usuario o contraseña incorrecto, inténtelo de nuevo"; ?> </p>
<?php endif; ?>
<?php if(isset($_GET['error']) && filtrarInt($_GET['error']) == 2): ?>
<p id="error-msg"> <?php echo "La sesión no ha iniciado. Tienes que iniciar sesión."; ?> </p>
<?php endif; ?>
</div>
</body>
</html>
control.php
Código PHP:
<?php
session_start();
include("conexionverif.php");
$conexion = mysql_connect($host, $user, $pw) or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db($db, $conexion) or die("No se puede seleccionar BD");
function filtrarPostInt($int)
{
if(isset($_POST[$int]) && !empty($_POST[$int]))
{
$_POST[$int] = filter_input(INPUT_POST, $int, FILTER_VALIDATE_INT);
return $_POST[$int];
}
return 0;
}
function filtrarAlfanumerico($text)
{
if(isset($_POST[$text]) && !empty($_POST[$text]))
{
$_POST[$text] = (string) preg_replace('/[^A-Z0-9_]/i', '', $_POST[$text]);
return trim($_POST[$text]);
}
}
function filtrarDatos($datos)
{
if(isset($_POST[$datos]) && !empty($_POST[$datos]))
{
$_POST[$datos] = strip_tags($_POST[$datos]);
if(!get_magic_quotes_gpc())
{
$_POST[$datos] = mysql_escape_string($_POST[$datos]);
}
return trim($_POST[$datos]);
}
}
function getLogin($user, $pwd, $conn)
{
$query = mysql_query("SELECT * FROM cms_session WHERE usuario = '$usuario' AND pwd = MD5('$pwd)", $conn);
return mysql_num_rows($query);
}
if ( filtrarPostInt('inicio') == 1)
{
if (!filtrarAlfanumerico('usuario') || !filtrarDatos('pwd') )
{
header("Location:http://www.gobernacionsd.comyr.com/formularios/formulario_sesion.php?error=1");
exit;
}
$login = getLogin(
filtrarAlfanumerico('usuario'),
filtrarDatos('pwd'),
$conexion
);
if ( $login )
{
$_SESSION['auth'] = true;
$_SESSION['usuario'] = $usuario;
/*
* Aki en formulario_insercion.php es donde debes chequear el codigo ke tienes en seguridad.php
* Y a partir de aki en todas las paginas protegidas por inicio de session debes chequear ke el
* user este logueado, puedes hacer una funcion y chequear en cada pagina con ella.
*/
header("Location:http://gobernacionsd.comyr.com/formularios/formulario_insercion.php");
exit;
}
}
header("Location:http://www.gobernacionsd.comyr.com/formularios/formulario_sesion.php?error=1");
?>
seguridad.php
Código PHP:
<?php
session_start();
/*
* Esto deberia ser una funcion ke se pueda acceder desde todas las paginas para chequear que el user
* verdaderamente se autentifico.
*/
if ( !$_SESSION['auth'] )
{
header("location:http://www.gobernacionsd.comyr.com/formularios/formulario_sesion.php?error=2");
exit;
}
?>
buena suerte