Foros del Web » Programando para Internet » PHP »

timestamp unix php

Estas en el tema de timestamp unix php en el foro de PHP en Foros del Web. hola soy medio novato en el tema pero me las areglo tengo un problemita que espero me puedan ayudar tengo una base de datos de ...
  #1 (permalink)  
Antiguo 29/05/2016, 09:59
 
Fecha de Ingreso: noviembre-2015
Mensajes: 43
Antigüedad: 9 años
Puntos: 0
timestamp unix php

hola soy medio novato en el tema pero me las areglo tengo un problemita
que espero me puedan ayudar tengo una base de datos de usuarios esta tiene
una tabla con username password enabled exp_date
exp_date guarda en formato timestamp la fecha de vencimiento de ese usuario
pero no se como hacer para que el php reconosca que a vencido y le bloquee
el aceso a la web ,este es mi code

<?php
$enabled = 1;

$conexion = mysql_connect("localhost", "root", "xxxxxxx");
mysql_select_db("xxxxxxxxxxxxx", $conexion);

if (isset($_GET["user"]))
$user = $_GET["user"];
if (isset($_GET["pass"]))
$pass = $_GET["pass"];

$busqueda = "SELECT username, password, enabled exp_date from users WHERE username = '%s' AND password = '%s' AND enabled = '%s' AND exp_date = '%s'";
$busqueda = sprintf($busqueda, $user, $pass, $enabled);
$busqueda = mysql_query($busqueda, $conexion);

$result = mysql_num_rows($busqueda);

if($result >= 1){
session_start();
$_SESSION["enabled"] = true;
echo "Si Tienes Permiso";
}
else{
echo "No Tienes Permiso";
}
  #2 (permalink)  
Antiguo 29/05/2016, 10:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: timestamp unix php

Pues depende exactamente cómo has guardado el dato inicial, ¿no te parece?

De la misma forma que generas dicho timestamp debes generar otro al momento de hacer la consulta y comparar ambos valores.

Al ser un número entero es fácilmente comparable, si el timestamp actual es mayor al timestamp registrado entonces ya expiró.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/05/2016, 10:05
 
Fecha de Ingreso: noviembre-2015
Mensajes: 43
Antigüedad: 9 años
Puntos: 0
Respuesta: timestamp unix php

puff gracias por la pronta repuesta,como dije soy novato y no se hacer la comparacion
lo unico que se es verificar el timestamp actual pero no compararlos
  #4 (permalink)  
Antiguo 29/05/2016, 10:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: timestamp unix php

Pues mejor muestra eso que sí sabes hacer, porque adivinar tampoco se puede.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 29/05/2016, 10:20
 
Fecha de Ingreso: noviembre-2015
Mensajes: 43
Antigüedad: 9 años
Puntos: 0
Respuesta: timestamp unix php

la fecha actual la calcularia asi


$fecha = new DateTime();
echo $fecha->getTimestamp();
  #6 (permalink)  
Antiguo 29/05/2016, 10:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: timestamp unix php

Bien, pues ya te he dicho: de la misma forma en que guardas dicho timestamp debes hacer la consulta.

Es decir, debes entender la diferencia entre código PHP y la consulta de SQL: no son lo mismo.

En dado caso debes construir una consulta de SQL:
Cita:
SELECT * FROM table WHERE a < b
Donde "a" puede ser tu timestamp, y "b" es el timestamp en la base de datos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 29/05/2016, 10:25
 
Fecha de Ingreso: noviembre-2015
Mensajes: 43
Antigüedad: 9 años
Puntos: 0
Respuesta: timestamp unix php

je poreso aclare que era novato algo me defiendo pero con esto nop
agradesco tu ayuda pero no lo se hacer
  #8 (permalink)  
Antiguo 29/05/2016, 10:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: timestamp unix php

¿Y cómo es que has llegado tan lejos si no sabes hacer una simple consulta?

En el código que muestras haces una consulta ¿no te das cuenta?

Sólo te falta agregar el campo del timestamp.

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 29/05/2016, 10:34
 
Fecha de Ingreso: noviembre-2015
Mensajes: 43
Antigüedad: 9 años
Puntos: 0
Respuesta: timestamp unix php

lo arme asi
<?php
$enabled = 1;

$fecha = new DateTime();
$date=$fecha->getTimestamp();

$conexion = mysql_connect("localhost", "root", "xxxxxxxxxxxxxx");
mysql_select_db("xxxxxxxxxxx", $conexion);

if (isset($_GET["user"]))
$user = $_GET["user"];
if (isset($_GET["pass"]))
$pass = $_GET["pass"];

$busqueda = "SELECT username, password, enabled, exp_date from users WHERE username = '%s' AND password = '%s' AND enabled = '%s' AND exp_date = '%s'";
$busqueda = sprintf($busqueda, $user, $pass, $enabled, $date);
$busqueda = mysql_query($busqueda, $conexion);

$result = mysql_num_rows($busqueda);

if($result >= 1){
session_start();
$_SESSION["enabled"] = true;
echo "Si Tienes Permiso";
}
else{
echo "No Tienes Permiso";
}

pero obiamente el timestamp que esta en mysql es diferente a el que toma el php
me falta como calcular esa parte
  #10 (permalink)  
Antiguo 29/05/2016, 10:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: timestamp unix php

Bueno, es que tu comparación es errónea, ¿por qué usas igualdad?
Cita:
exp_date = 'timestamp'
Reflexiona qué tipo de comparación debes hacer, si no conoces cuales puedes usar te sugiero revisar una referencia.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 29/05/2016, 10:41
 
Fecha de Ingreso: noviembre-2015
Mensajes: 43
Antigüedad: 9 años
Puntos: 0
Respuesta: timestamp unix php

jejeje esa es la parte nueva para mi no se que referencia usar
  #12 (permalink)  
Antiguo 29/05/2016, 10:42
 
Fecha de Ingreso: noviembre-2015
Mensajes: 43
Antigüedad: 9 años
Puntos: 0
Respuesta: timestamp unix php

seria algo asi $a < $b
  #13 (permalink)  
Antiguo 29/05/2016, 11:37
 
Fecha de Ingreso: noviembre-2015
Mensajes: 43
Antigüedad: 9 años
Puntos: 0
Respuesta: timestamp unix php

bueno intente un monton de cosas no me dio el cerebro esto es lo que termine de armar pero no me funciona

<?php
$enabled = 1;

$fecha = new DateTime();
$date=$fecha->getTimestamp();

$conexion = mysql_connect("localhost", "root", "xxxxxxxx");
mysql_select_db("xxxxxxxxxxxx", $conexion);

if (isset($_GET["user"]))
$user = $_GET["user"];
if (isset($_GET["pass"]))
$pass = $_GET["pass"];

$busqueda = "SELECT username, password, enabled, exp_date from users WHERE username = '%s' AND password = '%s' AND enabled = '%s' AND exp_date = '%s'";
$busqueda = sprintf($busqueda, $user, $pass, $enabled, $date);
$busqueda = mysql_query($busqueda, $conexion);

$result = mysql_num_rows($busqueda);

if($result >= 1){
session_start();
$_SESSION["enabled"] = true;
echo "Si Tienes Permiso";
}
else{
echo "No Tienes Permiso";
}
  #14 (permalink)  
Antiguo 29/05/2016, 12:39
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 11 meses
Puntos: 39
Respuesta: timestamp unix php

Si la exp_date TIENE que ser menor que la fecha actual. ¿Por qué usas el operador "="?
  #15 (permalink)  
Antiguo 29/05/2016, 13:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: timestamp unix php

Cita:
// ANTES
exp_date = '%s'

// DESPUES
exp_date < '%s'
¿Qué complicado era hacer eso?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 30/05/2016, 08:30
 
Fecha de Ingreso: noviembre-2015
Mensajes: 43
Antigüedad: 9 años
Puntos: 0
Respuesta: timestamp unix php

amigo exelente me funciono a la perfeccion y aprendi algo je
te agradesco mucho
  #17 (permalink)  
Antiguo 01/06/2016, 08:02
Avatar de No_haynombre  
Fecha de Ingreso: marzo-2016
Ubicación: Zagreb
Mensajes: 67
Antigüedad: 8 años, 8 meses
Puntos: 5
Respuesta: timestamp unix php

Hombre una pequeña notacion, estas usando
Código PHP:
Ver original
  1. $conexion = mysql_connect("localhost", "root", "xxxxxxxx");
  2. mysql_select_db("xxxxxxxxxxxx", $conexion);
La extension mysql ya es considerada obsoleta y tal ves en el servidor te llegue a dar pelea. Hechale una ojeada a
Esto

O Esto
__________________
Este es el fin de esta leyenda, escribiendo quemaduras de una luz de vela, soplando el viento desde Siberia. *-Varen Ka-*

Etiquetas: mysql, timestamp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:42.