Foros del Web » Programando para Internet » PHP »

Reforzar seguridad

Estas en el tema de Reforzar seguridad en el foro de PHP en Foros del Web. Hola!!. Tengo un web de chistes. Al lado de cada chiste aparece la opción borrar. Para borrarlos hay que estar registrado. El script de registro ...
  #1 (permalink)  
Antiguo 04/05/2008, 08:41
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta Reforzar seguridad

Hola!!.

Tengo un web de chistes. Al lado de cada chiste aparece la opción borrar. Para borrarlos hay que estar registrado. El script de registro y logueo de usuarios que yo uso es este (solo mostraré las páginas que son de php)

Lo que quiero es que cada dirección ip solo pueda registrarse una vez y que cada usuario pueda borrar solo 3 chistes por día.

Sé que pido mucho. Pero es muy importante para mí. Si hace falta más info díganmelo. Si pueden ayudarme.... LE ESTARÉ MUY AGRADECIDO.

No estoy diciendo que sea urgente. Si alguien puede ayudarme que se tome su tiempo, ya que de momento he descativado la opción registrar.

ESTARÉ ESPERANDO
  #2 (permalink)  
Antiguo 04/05/2008, 09:43
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: Reforzar seguridad

Hola, no es que entienda mucho de programacion, pero como yo lo veo para que solo se puedan eliminar 3 chistes diarios, deberias de tener un campo en la BD en la tabla de user o donde sea, y anotar alli un contador y uando llegue a trtes que no deje descargar, pero el prloblema, creo que stara en que cada nuevo dia habras de actualizar ese contador y ponerlo a cero a cada user, y eso tendras que hacerlo con un cronjob o tarea programada ( busca en google).

y para que solo una ip pueda registrarse seria facil, solo con almacenar las ip de los user en la BD, y comparar despues como haces con el usuario y el password, pero creo que tambien hay un problema con eso, por que las IP´s suelen ser DINAMICAS y cada vez que un user apague el PC y el modem o router, le puede cambiar la IP y tendrias un caos tremendo, para este caso lo que yo haria seria usar COOKIES ( busca informacion en las FAQ´s del foro, hay mucha), aunque si el usuario tiene deshabilitada las COOKIES o las elimina tambien te fallara el sistema.

Un saludo, y perdona por la parrafada, espero que te sirva la informacion.
  #3 (permalink)  
Antiguo 04/05/2008, 09:55
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Re: Reforzar seguridad

Bueno, me ha resolvido la duda lo de ip, pero con lo de borrar solo 3, no mucho.

Gracias por eso de la ip.

...Si alguien puede decirme mejor lo de borrar solo 3 por día....
  #4 (permalink)  
Antiguo 04/05/2008, 11:44
Avatar de cfranco  
Fecha de Ingreso: enero-2008
Ubicación: Barcelona - España
Mensajes: 182
Antigüedad: 16 años, 3 meses
Puntos: 6
Re: Reforzar seguridad

Guarda la fecha y hora en la BD en el cual se registre o ingrese al sistema, entonces de alguna manera el usuario realizará en evento o accion en tu sistema, entonces cada vez que vuelva a realizar cualquier accion, saca la hora y fecha actual y saca la diferencia, luego pregunta si pasaron 24 horas.

Salud y Éxito
Franco
  #5 (permalink)  
Antiguo 05/05/2008, 07:35
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Re: Reforzar seguridad

...Perdona, no te he entendido bien...
  #6 (permalink)  
Antiguo 07/05/2008, 12:31
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta Re: Reforzar seguridad

¿Podría hacerse de otro modo?
  #7 (permalink)  
Antiguo 09/05/2008, 07:40
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta Limite en un user

Hola, buenos días. En mi web tengo una pagina que muestra los registros de mysql. Al lado de cada uno aparece la opción borrar. Para poder borrar el registro he puesto un script que requiere el registro del usuario. Pero lo malo es que si se registra, puede borrar la base de datos entera. ¿Como hago para que solo pueda borrar 3 registros diarios?

Por favor, si necesitan +info, díganmelo.

GRACIAS
  #8 (permalink)  
Antiguo 09/05/2008, 07:44
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Re: Limite en un user

y podes grabar en una tabla la fecha y el UserID cada ves que borran algun registro...
y en el script de borrar pones una consulta a esa tabla, con un count(*) as total... entonces si el valor de total es mayor a 3 no le deja borrar...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #9 (permalink)  
Antiguo 09/05/2008, 07:46
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 18 años, 7 meses
Puntos: 14
Re: Limite en un user

pues no entiendo muy bien pero, puedes crear una tabla donde diga

usuario | borro | fecha

esos serian los campos, y cada vez q borra algo se guarda alli, ahora, cada vez q valla a borrar algo cuentas, cuantos registros ha borrado el usuario "x" en la fechadel dia actual sacas un mysql_num_rows y si es menor de 3 puede borrar, si no es x q ya paso el limite de ese dia
  #10 (permalink)  
Antiguo 09/05/2008, 07:47
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Re: Limite en un user

Pero entonces, ¿No habría que resetear o borrar el userid cada vez que pasen 24 horas?
  #11 (permalink)  
Antiguo 09/05/2008, 07:49
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 18 años, 7 meses
Puntos: 14
Re: Limite en un user

pues crea un cronjob q haga eso, o cuando el usuario entre y borre algo, de una vez le das la orden de que borre todos los registros que sean diferentes al dia de hoy, asi tendras esa tabla vacia constantemente
  #12 (permalink)  
Antiguo 09/05/2008, 07:50
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
De acuerdo Re: Limite en un user

Me está gustando la cosa. Podría explicarme alguien cómo se si han pasado 24 horas o no?

  #13 (permalink)  
Antiguo 09/05/2008, 07:54
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Re: Limite en un user

NOOOOO!!!! no hace falta resetear....

Tabla:
usuario | fecha

cuando haces la consulta haces
Select count(*) as total FROM tablaborrado Where fecha >= $hoy

y listo...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #14 (permalink)  
Antiguo 09/05/2008, 08:00
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
De acuerdo Limite users

Vaya, muchas gracias, eso es una idea buenísima. Mi última duda respecto a este tema es:

¿Cómo introduzco en mysql la fecha de ese momento, de dónde saco la fecha?
  #15 (permalink)  
Antiguo 09/05/2008, 08:03
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta Re: Limite en un user

He visto esto en google: $fecha = date("Y-m-d")

Eso funciona?
  #16 (permalink)  
Antiguo 09/05/2008, 08:07
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Limite en un user

si, funciona
  #17 (permalink)  
Antiguo 09/05/2008, 08:09
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta Re: Limite en un user

Me servirá esto?

$fecha = date("Y-m-d");
$user = $_SESSION['s_username'];
$control = mysql_query("INSERT INTO controlborrar (usuario, fecha) values ('$user','$fecha'");
$con = mysql_connect("","","") or die (mysql_error());
mysql_select_db("",$con) or die (mysql_error());

if(isset($_GET['id'])) mysql_query("DELETE FROM {$tabla} WHERE id = '".$_GET['id']."' LIMIT 1");
echo "BORRADO CON ÉXITO";
echo $control;
  #18 (permalink)  
Antiguo 09/05/2008, 08:11
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Re: Limite en un user

Cita:
Iniciado por yonolose Ver Mensaje
Me está gustando la cosa. Podría explicarme alguien cómo se si han pasado 24 horas o no?


$dentrode24hras = mktime($hora+24, $minuto, $segundo, $dia, $mes, $ano);
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #19 (permalink)  
Antiguo 09/05/2008, 08:23
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Re: Limite en un user

Cita:
Iniciado por farra Ver Mensaje
NOOOOO!!!! no hace falta resetear....

Tabla:
usuario | fecha

cuando haces la consulta haces
Select count(*) as total FROM tablaborrado Where fecha >= $hoy

y listo...
Pero ahí me dice el total de registros que han borrado todos los usuarios. Yo lo que quiero saber es cuántos ha borrado un solo user en esa fecha.
  #20 (permalink)  
Antiguo 09/05/2008, 08:27
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta Re: Limite en un user

Mi opinión:

Yo lo quiero hacer de este modo:

Tabla= user,control,fecha.

Cada vez que un user borra un registro, en el campo control introduzco algo (una palabra)

Derspués, para comprobar cuántos ha borrado ese día ago esto:

Miro cuántos "control" ha introducido el user en ese día, si pasa los tres, no, y si no los pasa, sí.

¿Cómo lo haría?
  #21 (permalink)  
Antiguo 09/05/2008, 08:40
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Limite en un user

Enga, que no es tan dificil ;)


TABLA :

idFila - IDusuario - Fecha - numRegistros



Efectua Borrado

Código PHP:

<?php


function borrarRegistro($idUsuario)
{

    
$id $idUsuario ;
    
$fechaHoy date('Y-m-d') ;
    
    
// Eliminamos todos los Registros anteriores al dia de hoy ( para no llegar a tener una tabla de 12983719028 registros) 
    
    
mysql_query("Delete from borradosUsuarios where fecha < $fechaHoy") ;
    
    
$qry mysql_query("Select count(*) from borradosUsuarios where IDusuario='$id' and fecha='$fechaHoy'") ;
    
$res mysql_result($qry,0) ;
    
    
// Comprobamos si el usuario ya ha Eliminado algun registro hoy
    
    
if ($res == 0// Aun no ha borrado ninguno
    
{
        
mysql_query("Insert into borradosUsuarios values('','$id','$fechaHoy',1)") ;
        
// codigo para borrar la Fila ;
    
}
    else if (
$res == 3// ya ha borrado los 3
        
echo 'No se le permite hacer mas Borrados' ;
    else
    {
        
mysql_query("Update borradosUsuarios set numRegistros=numRegistros+1 where IDusuario='$id' and fecha='$fechaHoy'")
        
// codigo para borrar la Fila ;
    
}
}


?>

Ale !! ;)
  #22 (permalink)  
Antiguo 09/05/2008, 08:41
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta Contar donde x=y

Hola, mi duda es la siguiente:

Yo tengo una tabla con dos campos (user y control)

Ahora quiero trabajar con un user concreto, que se llama x.

¿Cómo puedo contar todos los campos control. de este user, que se llama x?
  #23 (permalink)  
Antiguo 09/05/2008, 08:47
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
De acuerdo Re: Limite en un user

Muchas gracias, os dedico unos aplausos a todos por vuestra gran ayuda:

:apla uso:: aplauso:
  #24 (permalink)  
Antiguo 09/05/2008, 08:50
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Contar donde x=y

Para obtener todos los campos que tenga ese user de control seria

Código PHP:

$qry 
mysql_query("Select control for Tabla where user='$user'") ;

// Donde $user es una variable con el nombre de usuario

$listaControles = array() ;

while (
$campo mysql_fetch_row($qry))
{
    
$listaControles[count($listaControles)] = $campo[0] ;
}

// A partir d esta lineas, obtendrias un array con todos los controles que tiene ese usuario ^_^ 
:]
  #25 (permalink)  
Antiguo 09/05/2008, 09:01
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Re: Reforzar seguridad

He resuelto la duda aquí http://www.forosdelweb.com/f18/limite-user-584596/
  #26 (permalink)  
Antiguo 09/05/2008, 09:02
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
De acuerdo Gracias

GRACIAS de nuevo
  #27 (permalink)  
Antiguo 09/05/2008, 09:06
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Re: Limite en un user

aca tenes un script con un contador y todo bien completito...

Tabla: controlborrar
campos: (UserID, Fecha)
----------
Tabla: registros
campos: (idregistro, titulo, texto)

Código PHP:
<?php require_once('Connections/testsite.php'); ?>
<?php
$USERID
="1"// reemplazar por la variable que trae el id puede ser de sesion..
$hoy=date("Y-m-d H:i:s");

// comando anti inyeccion sql que genera dreamweaver
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$hoyini=date("Y-m-d")." 00:00:00";
$hoyfin=date("Y-m-d")." 23:59:59";
mysql_select_db($database_testsite$testsite);
$query_contolborra "SELECT count(*) as total FROM controlborrar WHERE UserID = '$USERID' AND Fecha >= '$hoyini' AND Fecha <= '$hoyfin' ";
$contolborra mysql_query($query_contolborra$testsite) or die(mysql_error());
$row_contolborra mysql_fetch_assoc($contolborra);
$totalRows_contolborra mysql_num_rows($contolborra);
$borrar="";
if(
$row_contolborra['total'] < "3"){
$borrar="SI";
}else{
$borrar="NO";
}

mysql_free_result($contolborra);
if ((isset(
$_GET['idregistro'])) && ($_GET['idregistro'] != "")) {
if (
$borrar == "SI") {

 
// aca borra
  
$deleteSQL sprintf("DELETE FROM registros WHERE idregistro=%s",
                       
GetSQLValueString($_GET['idregistro'], "int"));

  
mysql_select_db($database_testsite$testsite);
  
$Result1 mysql_query($deleteSQL$testsite) or die(mysql_error());
  
  
// aca inserta quien borro y la fecha
  
$insertSQL sprintf("INSERT INTO controlborrar (UserID, Fecha) VALUES (%s, %s)",
                       
GetSQLValueString($USERID"int"),
                       
GetSQLValueString($hoy"date"));

  
mysql_select_db($database_testsite$testsite);
  
$Result2 mysql_query($insertSQL$testsite) or die(mysql_error());
  
$msg="";
}else{
 
$msg="?msg=Solo puedes borrar 3 registros por dia";
}  
// direcciona a index
  
$deleteGoTo "index.php".$msg;

  
header(sprintf("Location: %s"$deleteGoTo));
}


$USERID="1"// reemplazar por la variable que trae el id puede ser de sesion..
mysql_select_db($database_testsite$testsite);
$query_registros "SELECT idregistro, titulo, texto FROM registros";
$registros mysql_query($query_registros$testsite) or die(mysql_error());
$row_registros mysql_fetch_assoc($registros);
$totalRows_registros mysql_num_rows($registros);

$hoyini=date("Y-m-d")." 00:00:00";
$hoyfin=date("Y-m-d")." 23:59:59";
mysql_select_db($database_testsite$testsite);
$query_contolborra "SELECT count(*) as total FROM controlborrar WHERE UserID = '$USERID' AND Fecha >= '$hoyini' AND Fecha <= '$hoyfin' ";
$contolborra mysql_query($query_contolborra$testsite) or die(mysql_error());
$row_contolborra mysql_fetch_assoc($contolborra);
$totalRows_contolborra mysql_num_rows($contolborra);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
Borraste hasta ahora: <strong><?php echo $row_contolborra['total']; ?></strong> registro<br /><br />
<?php if (($_GET['msg'] != "") && ($row_contolborra['total'] >= "3")){ ?>Acceso Denegado: <?php echo $_GET['msg']; ?><?php ?><br /><br />
<?php do { ?>
  <?php echo $row_registros['titulo']; ?> - <a href="index.php?idregistro=<?php echo $row_registros['idregistro']; ?>">Borrar</a><br />
  <?php } while ($row_registros mysql_fetch_assoc($registros)); ?>
</body>
</html>
<?php
mysql_free_result
($registros);
?>

hace casi lo mismo que lo que posteo misko.. con 1 diferencia...

este en ves de update hace insert... entonces podes llevar un registro de borrados anteriores de los usuarios incluso tener un top 10 de los mas borradores...

ejemplo: si mas adelante queres ver quien es el que todos los dias borra minimo 3...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #28 (permalink)  
Antiguo 09/05/2008, 09:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Reforzar seguridad

Temas unidos por favor no dupliques temas.
  #29 (permalink)  
Antiguo 09/05/2008, 09:21
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Limite en un user

En mi Script, quitando la primera linea donde elimino los antiguos al dia de hoy, puede hacer exactamente lo mismo que el tuyo, osea contar quien borra mas, pk guardaria el numero de borrados de cada user para cada dia, y sin necesidad de tener 3 campos por dia y por usuario

1000 usuarios, 10 dias = 30000 a tu modo ( contando q todos eliminen 3 )
frente a los 10000 de mi metodo, logrando un 300% mas de velocidad a la hora de contar los registros debido a que hay un 66,67% menos de registros ;)


Cita:
Iniciado por farra Ver Mensaje
aca tenes un script con un contador y todo bien completito...

Tabla: controlborrar
campos: (UserID, Fecha)
----------
Tabla: registros
campos: (idregistro, titulo, texto)

Código PHP:
<?php require_once('Connections/testsite.php'); ?>
<?php
$USERID
="1"// reemplazar por la variable que trae el id puede ser de sesion..
$hoy=date("Y-m-d H:i:s");

// comando anti inyeccion sql que genera dreamweaver
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$hoyini=date("Y-m-d")." 00:00:00";
$hoyfin=date("Y-m-d")." 23:59:59";
mysql_select_db($database_testsite$testsite);
$query_contolborra "SELECT count(*) as total FROM controlborrar WHERE UserID = '$USERID' AND Fecha >= '$hoyini' AND Fecha <= '$hoyfin' ";
$contolborra mysql_query($query_contolborra$testsite) or die(mysql_error());
$row_contolborra mysql_fetch_assoc($contolborra);
$totalRows_contolborra mysql_num_rows($contolborra);
$borrar="";
if(
$row_contolborra['total'] < "3"){
$borrar="SI";
}else{
$borrar="NO";
}

mysql_free_result($contolborra);
if ((isset(
$_GET['idregistro'])) && ($_GET['idregistro'] != "")) {
if (
$borrar == "SI") {

 
// aca borra
  
$deleteSQL sprintf("DELETE FROM registros WHERE idregistro=%s",
                       
GetSQLValueString($_GET['idregistro'], "int"));

  
mysql_select_db($database_testsite$testsite);
  
$Result1 mysql_query($deleteSQL$testsite) or die(mysql_error());
  
  
// aca inserta quien borro y la fecha
  
$insertSQL sprintf("INSERT INTO controlborrar (UserID, Fecha) VALUES (%s, %s)",
                       
GetSQLValueString($USERID"int"),
                       
GetSQLValueString($hoy"date"));

  
mysql_select_db($database_testsite$testsite);
  
$Result2 mysql_query($insertSQL$testsite) or die(mysql_error());
  
$msg="";
}else{
 
$msg="?msg=Solo puedes borrar 3 registros por dia";
}  
// direcciona a index
  
$deleteGoTo "index.php".$msg;

  
header(sprintf("Location: %s"$deleteGoTo));
}


$USERID="1"// reemplazar por la variable que trae el id puede ser de sesion..
mysql_select_db($database_testsite$testsite);
$query_registros "SELECT idregistro, titulo, texto FROM registros";
$registros mysql_query($query_registros$testsite) or die(mysql_error());
$row_registros mysql_fetch_assoc($registros);
$totalRows_registros mysql_num_rows($registros);

$hoyini=date("Y-m-d")." 00:00:00";
$hoyfin=date("Y-m-d")." 23:59:59";
mysql_select_db($database_testsite$testsite);
$query_contolborra "SELECT count(*) as total FROM controlborrar WHERE UserID = '$USERID' AND Fecha >= '$hoyini' AND Fecha <= '$hoyfin' ";
$contolborra mysql_query($query_contolborra$testsite) or die(mysql_error());
$row_contolborra mysql_fetch_assoc($contolborra);
$totalRows_contolborra mysql_num_rows($contolborra);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
Borraste hasta ahora: <strong><?php echo $row_contolborra['total']; ?></strong> registro<br /><br />
<?php if (($_GET['msg'] != "") && ($row_contolborra['total'] >= "3")){ ?>Acceso Denegado: <?php echo $_GET['msg']; ?><?php ?><br /><br />
<?php do { ?>
  <?php echo $row_registros['titulo']; ?> - <a href="index.php?idregistro=<?php echo $row_registros['idregistro']; ?>">Borrar</a><br />
  <?php } while ($row_registros mysql_fetch_assoc($registros)); ?>
</body>
</html>
<?php
mysql_free_result
($registros);
?>

hace casi lo mismo que lo que posteo misko.. con 1 diferencia...

este en ves de update hace insert... entonces podes llevar un registro de borrados anteriores de los usuarios incluso tener un top 10 de los mas borradores...

ejemplo: si mas adelante queres ver quien es el que todos los dias borra minimo 3...





PD: Pk se han Unido 2 Posts? :S:S:S
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 03:02.