Bueno, igual este mensaje es un poco tocho, pero allá voy:
Esta página la tienes que poner (con un include("seguridad.php");) en todas las que quieras proteger:
seguridad.php
Código PHP:
<?php
//Inicio la sesión
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if(!isset($_SESSION['nombre'])){
//si no existe, envio a la página de autentificacion
header("Location: formularioentrar.php");
}else{}
?>
Esta es la página para entrar.
formularioentrar.php
Código PHP:
<?php session_start();
$base="tubase";
$con=mysql_connect(xxx);
mysql_select_db($base,$con);
$lacookien = $_COOKIE['nombre'];
$cookien = mysql_query("SELECT * FROM usuarios WHERE nombre = '$lacookien' AND recordn= 'si'", $con);
if(!isset($_SESSION['nombre'])){
if(isset($lacookien)){
header("Location: scriptentra.php");
}else{
echo '<form ACTION=scriptentra.php METHOD=POST name=entrar>
<p>Nombre:<input type=checkbox name=recordn value=si>Recordar <br>
<input name=nombre type=text id=nombre size=20 maxlength=50>
Contraseña:<br>
<input name=contrasena2 type=password id=contrasena/><br>
<input type=submit value=Entrar>
</p>
</form>';
}}else{
echo 'Hola, ';
echo $_SESSION['nombre'];
echo '<br><a href="salir.php">Salir</a>';
}
?>
scriptentra.php
Código PHP:
<?
//todas las variables
$lacookiec = $_COOKIE['contrasena'];
$lacookien = $_COOKIE['nombre'];
$recordn = $_POST['recordn'];
$recordc = $_POST['recordc'];
$nombre2=$_POST['nombre'];
$contrasena3=base64_encode($_POST['contrasena2']);
//conecto con la base de datos
$conn = mysql_connect(xxx); mysql_select_db("i4313498",$conn);
//si esta vacia la cookie
if(isset($lacookien)){
$ssql2 = "SELECT * FROM usuarios WHERE nombre='$lacookien' and contrasena='$lacookiec'";
$rs2 = mysql_query($ssql2,$conn);
if (mysql_num_rows($rs2)!=0){
session_start();
session_register("nombre");
$_SESSION['nombre'] = $lacookien;
header("Location: formularioentrar.php");}else{
header("Location: formularioentrar.php");}
}else{
$ssql = "SELECT * FROM usuarios WHERE nombre='$nombre2' and contrasena='$contrasena3'";
//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);
//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
session_start();
session_register("nombre");
$_SESSION['nombre'] = $nombre2;
header("Location: formularioentrar.php");
if($recordn == 'si'){
//modifica aqui
setcookie("nombre","$nombre2", time()+36000000,"/","tuurl");
setcookie("contrasena","$contrasena3", time()+36000000,"/","tuurl");}else{}
}else{
header("Location: formularioentrar.php");}}
?>
Y este es el formulario para registrarse
registrarse.php
Código HTML:
<form name=registrarse action=regusuario.php id=registrarse method=post>
Nombre/Nick/Alias/Mote:<br>
<input name=nombre2 type=text id=nombre2 size=50>
<br>
Contraseña:<br>
<input name=contrasena2 type=password id=contrasena2 size=50>
<br>
E-mai:<br>
<input name=email2 type=text id=email2 size=50><br>
<input name=Enviar type=submit value=Enviar>
</form>
regusuario.php
Código PHP:
<?php
$conn = mysql_connect(xxx); mysql_select_db("tubase",$conn);
echo "Ya estás registrado.<br>";
$nombre2=$_POST['nombre2'];
$contrasena2=base64_encode($_POS['contrasena2']);
$email2=$_POST['email2'];
mysql_query("insert into usuarios (nombre, contrasena, email) values ('$nombre2', '$contrasena2', '$email2')",$link);
mysql_close($link); //cierra la conexion
?>
Mas o menos sería así. Tienes que crear una tabla usuarios con campos nombre, contrasena y email. Si te sale algun error o algo avisas. Saludos