Foros del Web » Programando para Internet » PHP »

Ayuda con dichoso codigo

Estas en el tema de Ayuda con dichoso codigo en el foro de PHP en Foros del Web. Hola amigos. Mi intención es que cierta pagina de mi Web solo se le muestre al visitante una vez al día y cuando quieran visitarla ...
  #1 (permalink)  
Antiguo 21/09/2008, 13:39
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Ayuda con dichoso codigo

Hola amigos.

Mi intención es que cierta pagina de mi Web solo se le muestre al visitante una vez al día y cuando quieran visitarla otra vez ser dirigido a otra pagina con un mensaje diciendo "ya as visitado esta pagina".

Para ello quiero hacer uso de la IP del visitante, guardar en base de datos y pasada 24 horas, borrar y poder visitar otra vez.

E creado este código pero me da error:



Código PHP:
<?php
$conexion
=mysql_connect ("localhost","root","pass");
mysql_select_db("database");
$database=captureip;
mysql_query"CREATE DATABASE IF NOT EXISTS $database",$conexion);
$ipvisitors=mysql_query("select * from captureip"); 
if(
$captureip==$_SERVER['REMOTE_ADDR'])
{
header("Location: aqui la url de dirigido, el foro no me deja escribirla");
}else{
mysql_query("insert into captureip values ($_SERVER['REMOTE_ADDR'] )");
}
?>

Me podeis echar una mano.
  #2 (permalink)  
Antiguo 21/09/2008, 14:04
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 125
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Ayuda con dichoso codigo

tendrias que crear una tabla.(aparte de la base de datos)
Que contenga id,IP,TIME como minimo asi ves si hace mas de 24hs que la IP ingreso.

Personalmente crearia la tabla con otro archivo y la base de datos se suele crear desde un panel de control ; pero no se si se puede crear como la haces en tu codigo.
__________________
alquiler gesell
  #3 (permalink)  
Antiguo 21/09/2008, 14:24
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 8 meses
Puntos: 103
Respuesta: Ayuda con dichoso codigo

el error esta aqui:
Código PHP:
$database=captureip
remplazalo por este:
Código PHP:
$database=$captureip
le faltaba el $ a captureip
  #4 (permalink)  
Antiguo 21/09/2008, 14:24
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con dichoso codigo

Tienes varios errores.
$database=captureip; //No es un string. Dara un error. Usa comillas
$database='captureip';

Crea la base de datos directamente desde MySQL.

CREATE TABLE `capturarip`(
`ID` int(11) not null auto_increment,
`ip` varchar(15) not null,
`fecha` int(11) not null,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM

Y haz:

Código PHP:
<?php
//conexion
$ip $_SERVER['REMOTE_ADDR'];
$limite time() - (60*60*24);
$sql "SELECT ip, fecha FROM capturarip WHERE ip = $ip AND fecha>$limite";
$query mysql_query($sql);
if(
mysql_fetch_assoc($query) {
echo 
'Ya haz accesado';
exit;
} else {
$insert "INSERT INTO capturarip(ip, fecha) VALUE('$ip', '".time()."')";
mysql_query($insert);
}
?>

Última edición por Ronruby; 21/09/2008 a las 18:32
  #5 (permalink)  
Antiguo 21/09/2008, 16:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda con dichoso codigo

Gracias voy a intentarlo.

Ya os digo...
  #6 (permalink)  
Antiguo 21/09/2008, 17:11
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda con dichoso codigo

Al crear la tabla me ha dado error de un espacio vacio.

y al conectar me da este error:

Parse error: syntax error, unexpected T_ECHO in /home/traficoa/public_html/reglas/cumplir.php on line 11
  #7 (permalink)  
Antiguo 21/09/2008, 18:31
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con dichoso codigo

Código PHP:
<?php
//conexion
$ip $_SERVER['REMOTE_ADDR'];
$limite time() - (60*60*24);
$sql "SELECT ip, fecha FROM capturarip WHERE ip = '$ip' AND fecha>'$limite'";
$query mysql_query($sql);
if(
mysql_fetch_assoc($query)) {
echo 
'Ya haz accesado';
exit;
} else {
$insert "INSERT INTO capturarip(ip, fecha) VALUE('$ip', '".time()."')";
mysql_query($insert);
}
?>
Le faltaba un parentesis.

Última edición por Ronruby; 21/09/2008 a las 19:32
  #8 (permalink)  
Antiguo 21/09/2008, 19:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda con dichoso codigo

Ahora me sale otro error, es de base de datos pero no se a que se debe.

Error:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/traficoa/public_html/reglas/cumplir.php on line 10


Te coloco el codigo para que veas como lo coloco yo, y sale el error.


Código PHP:
<?php
//conexion
$conexion=mysql_connect ("localhost","usuario","pass");
mysql_select_db("base de datos creada");
$database='captureip';
$ip $_SERVER['REMOTE_ADDR'];
$limite time() - (60*60*24);
$sql "SELECT ip, fecha FROM capturarip WHERE ip = $ip AND fecha>$limite";
$query mysql_query($sql);
if(
mysql_fetch_assoc($query)) {
echo 
'("Location: url de redireccionado")';
exit;
} else {
$insert "INSERT INTO capturarip(ip, fecha) VALUE('$ip', '".time()."')";
mysql_query($insert);
}
?>

Si lo coloco mal, me lo podrias corregir.

Gracias.
  #9 (permalink)  
Antiguo 21/09/2008, 19:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda con dichoso codigo

Ya cambie la url por mensaje en echo y sigue el mismo error...
  #10 (permalink)  
Antiguo 21/09/2008, 19:52
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con dichoso codigo

Código PHP:
<?php 
//conexion 
$conexion=mysql_connect ("localhost","usuario","pass"); 
mysql_select_db("base de datos creada"); //asegurate de que la base de datos este creada
$database='captureip'
$ip $_SERVER['REMOTE_ADDR']; 
$limite time() - (60*60*24); 
$sql "SELECT ip, fecha FROM capturarip WHERE ip ='$ip' AND fecha>'$limite'"
$query mysql_query($sql); 
if(
mysql_fetch_assoc($query)) { 
header("Location: url de redireccionado"); 
exit; 
} else { 
$insert "INSERT INTO capturarip(ip, fecha) VALUE('$ip', '".time()."')"
mysql_query($insert); 

?>
  #11 (permalink)  
Antiguo 21/09/2008, 20:45
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Ayuda con dichoso codigo

Muchisimas gracias Ronruby.

Funciona a la perfeccion, me ha llevado a la pagina con el mensaje directamente, pero no se si es por refrescar yo.

Voy a esperar 24 horas y te cuento.

Muchas gracias.
  #12 (permalink)  
Antiguo 23/09/2008, 00:49
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda con dichoso codigo

Todo perfecto, inmejorable.

Muchas gracias.



Un saludo.
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 17:05.