Bueno, mi base de datos va por archivos txt, asi que cuando un user se registra se le crea una variable asi:
$nuevo .="\$lastConect = \"".time()."\";\n";
de modo que queda registrada la fecha del registro.
Cuando se conecta se deve comparar si la fecha registrada y la fecha actual son iguales, no resta un valor:
if($lastConect <= time()){
$puntosMas = $puntos+100;
$puntosMenos = $diaspremium-1;
}
y luego en los datos es:
$nuevo .="\$lastConect= \"$lastConect\";\n";
Ahi lo que tenemos es,, que si en los datos del user $lastconect no es la misma que la fecha de hoy; Le suma 100 puntos y le resta 1 dia de premium, el problema que tengo es que lo hace siempre que se loguea, aunque sea la misma fecha..
Alguien sabe que está mal?
Por si quieren revisar:
Register.php
Código PHP:
<script>
function revisar() {
if(formulario.cnnick.value.length < 3) { alert('El nick debe contener por lo mínimo 3 caractéres') ; return false ; }
if(formulario.cncontrasena.value.length < 5) { alert('La contraseña debe contener por lo mínimo 5 caractéres') ; return false ; }
if(formulario.cnemail.value.length == 0) { alert('Debes poner un email válido') ; return false ; }
}
</script>
<div id="box-center">
<div id="top" class="white">Regístrate</div>
<div id="middle">
<?
if($registrar) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
return $texto ;
}
$cnnick = quitar($cnnick) ;
$cnemail= quitar($cnemail) ;
// Comprobar que el usuario existe en la base de datos
if(!file_exists("usuarios/")) { mkdir("usuarios/", 0777); }
if(file_exists("usuarios/$cnnick.php")) {
echo "<div id=infobox-center class=red>
<div id=top></div>
<div id=text>Ya existe un usuario con ese nick o email en la base de datos. Haz click <a href=javascript:history.back()>aquí</a> para regresar.</div>
<div id=bottom></div>
</div>" ;
}
else {
$cnfecha = time() ;
$cncontrasena = md5($cncontrasena) ;
$cnip = $REMOTE_ADDR ;
$nuevo .= "<"."?\n";
$nuevo .="\$nick = \"$cnnick\";\n";
$nuevo .="\$contrasena = \"$cncontrasena\";\n";
$nuevo .="\$email = \"$cnemail\";\n";
$nuevo .="\$fecha = \"$cnfecha\";\n";
$nuevo .="\$ip = \"$cnip\";\n";
$nuevo .="\$sexo = \"\";\n";
$nuevo .="\$pais = \"es\";\n";
$nuevo .="\$edad = \"\";\n";
$nuevo .="\$descripcion = \"\";\n";
$nuevo .="\$puntos = \"0\";\n";
$nuevo .="\$lastConect = \"".time()."\";\n";
$nuevo .="\$nivel = \"0\";\n";
$nuevo .="\$color = \"gray\";\n";
$nuevo .="\$premium = \"0\";\n";
$nuevo .="\$fechapremium = \"\";\n";
$nuevo .="\$diaspremium = \"0\";\n";
$nuevo .="\$avatar = \"/images/noAvatar.jpg\";\n";
$nuevo .= "?".">";
$crea = fopen("usuarios/$cnnick.php","w");
fputs($crea,$nuevo);
fclose($crea);
echo "<div id=infobox-center class=green>
<div id=top></div>
<div id=text>¡Bienvenid@ a GameShoot <strong>".$_POST["cnnick"]."</strong>! Te has registrado exitosamente.<br>¿A qué esperas para iniciar sesión?</div>
<div id=bottom></div>
</div>";
}
}
else {
?>
Entrar.php
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)) {
if($lastConect <= time()){
$puntosMas = $puntos+100;
$puntosMenos = $diaspremium-1;
}
else{
$lastConect2=$lastConect;
}
$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 .="\$lastConect= \"$lastConect\";\n";
$nuevo .="\$nivel = \"$nivel\";\n";
$nuevo .="\$color = \"$color\";\n";
$nuevo .="\$premium = \"$premium\";\n";
$nuevo .="\$fechapremium = \"$fechapremium\";\n";
$nuevo .="\$diaspremium = \"$puntosMenos\";\n";
$nuevo .="\$avatar = \"$avatar\";\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: segurity_check.php") ;
}
else {
header("Location: /?error=1");
}
}
else {
header("Location: /?error=2");
}
}
else {
header("Location: /?error=3");
}
?>