Código PHP:
<?
if($entrar) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}
$cnnick = quitar($cnnick) ;
$cnpass = quitar($cnpass) ;
if(file_exists("usuarios/$cnnick.php")) {
require ("usuarios/$cnnick.php");
// Comprobamos que la contraseña sea igual a la del usuario
if($contrasena == md5($cnpass)) {
$puntosMas = $puntos+10;
$nuevo .= "<"."?\n";
$nuevo .="\$nick = \"$nick\";\n";
$nuevo .="\$contrasena = \"$contrasena\";\n";
$nuevo .="\$email = \"$email\";\n";
$nuevo .="\$fecha = \"$fecha\";\n";
$nuevo .="\$ip = \"$ip\";\n";
$nuevo .="\$sexo = \"$sexo\";\n";
$nuevo .="\$pais = \"$pais\";\n";
$nuevo .="\$edad = \"$edad\";\n";
$nuevo .="\$descripcion = \"$descripcion\";\n";
$nuevo .="\$puntos = \"$puntosMas\";\n";
$nuevo .= "?".">";
$crea = fopen("usuarios/$cnnick.php","w");
fputs($crea,$nuevo);
fclose($crea);
setcookie("ucnnick",$cnnick,time()+7776000) ;
setcookie("ucnpass",$cnpass,time()+7776000) ;
// Enviamos al usuario a la pagina principal
header("location: $id") ;
}
else {
echo "La contraseña es incorrecta. Haz click <a href=javascript:history.back()>aquí</a> para regresar." ;
}
}
else {
echo "Este usuario no existe en la base de datos." ;
}
}
else {
echo "
<form method=post action=entrar.php>
<b>Nick:</b><br>
<input type=text name=cnnick maxlength=20><br>
<b>Contraseña:</b><br>
<input type=cnpassword name=cnpass maxlength=20><br><br>
<input type=submit name=entrar value=Entrar>
</form>
" ;
}
?>
Cuando el Usuario se valide crea donde tengas la base de datos lo siguiente ; imaginemos que posees una carpeta donde tienes la base de datos que es db/users
Ok .............
Crea dentro una carpeta denominada sesiones por ejemplo , cuando el usuario acceda y se sumen los puntos se abre una sesión de esta forma
Código PHP:
<?
$dir="db/user/sesiones";
$name_session="".$REMOTE_ADDR.dat."";
if (!file_exists("$dir/$name_session"))
{
$fp=fopen ("$name_session","a");
fputs ($fp,"".date("dmY")."");
fclose($fp);
}
?>
Con esto Determinamos una sesión por día , al verificar el archivo y ver que existe la sesión no se permitirá que la persona pueda hacer uso indebido de sumar puntos acceder o lo que quieras
Código PHP:
<?
/////Para el borrado automático de la sesión esto se hará al cargar la página o puedes seleccionar un archio con este script programado en cron
$dir=fopen("$dir")
while($file=readdir($dir))
{
if ($file!="." && $file!="..")
{
/// Se leen todas las sesiones
$fecha_actual=file("$dir/$file");
if ($fecha_actual[0]==date("dmY"))
{}
else
{
unlink ("$dir/$file");
}
}
}
?>
Con esto tendrías un sistema interno de sesiones totalmente limpio intocable que ademas puedes aumentar en seguridad encriptándolo como md5 o similar , al no usar cookies ni sesiones y correr en el server es lo más seguro que existe , el usuario se localiza por la ip o po rel nombre del usuario , yo utilice la sesión según la ip tu puedes usar e lnombre del usuario , lo escribi al vuelo disculpa si hay algún error un saludo y ya me contarás , chao :)