Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/08/2005, 18:45
Avatar de ZydRick
ZydRick
 
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
evitar el conteo de los refresh

bueno en un foro de otra web postee mi codigo con el ke muestro un determinado tutorial la cosa es k ke kiero ke el contador de lecturas no se ande actualizando cada 2 x 3 o sea ke cuando se esta refrescando la pagina siempre se le suma 1 visita o lectura y kisiera ke solo sea 1 vez; un me modifico el codigo pero no me funciona, ahora cuando entro a un tutorial cuenta una visita, si presiono F5 el contador de lecturas desaparece si salgo de esa pagina y regreso luego de unos 5 segs. se vuelve a mostrar el contador pero sigue sumando las visitas :s

aki pondre el codigo como yo lo tengo y el ke me modificaron

Código PHP:
<?
// codigo original
include('config.php');
include(
'bbcode1.php');
$query "select * from tutoriales where id='$id'";
$resp mysql_query($query);
while (
$datos mysql_fetch_array($resp)) { 
$num $datos["visitas"] + 1;
mysql_query("update tutoriales set visitas='$num' where id='$id'"); 
$fecha date("d/m/Y",$datos[fecha]);
$des $datos[descripcion];
$texto bbcode($datos[contenido]);
$texto php($datos[contenido]);
$cat $datos[categoria];
$com $datos[comentarios];
echo 
'<table width="550" border="0" cellpadding="0" cellspacing="1" bgcolor="#ffffff" class="tablareg">
<tr>
<td bgcolor="#eeeeee" style="border: 1px solid #999999; padding: 3px;"><a class="link4" href="tutorialescat.php"><b>Categorías</b></a> | <a class="link4" href="javascript:history.back()"><b>'
.$cat.'</b></a></td>
</tr>
<tr>
<td style="border: 1px solid #999999; padding: 5px;"><b><font size="3">'
.$datos[titulo].'</font></b></td>
</tr>
<tr><td bgcolor="#eeeeee" style="border: 1px solid #999999; padding: 3px;"><img src="images/user.gif"> Enviado por <a class="link4" href=perfil.php?id='
.$datos[idautor].'><b>'.$datos[autor].'</b></a> el <b>'.$fecha.'</b> - visto: <b>'.$num.'</b> veces.</td></tr>
<tr><td><div class="cuerpo">'
.$des.'<br />'.$texto.'</div></td></tr>
</table><br>'
;
}
mysql_query($query);
?>

Código PHP:
<?
// codigo modificado
include('config.php');
include(
'bbcode1.php');
$query "select * from tutoriales where id='$id'";
$resp mysql_query($query);
while (
$datos mysql_fetch_array($resp)) {

if(!isset(
$_SESSION['pagina'])) $_SESSION['pagina'] = ""// nueva linea agregada
if($_SESSION['pagina']== "" OR $_SESSION['pagina']<>"pagina".$id) { // otra nueva linea agregada
$num $datos["visitas"] + 1;
mysql_query("update tutoriales set visitas='$num' where id='$id'"); // cuento la visita o lectura
$_SESSION['pagina'] = "pagina".$id// y otra mas
}

$fecha date("d/m/Y",$datos[fecha]);
$des $datos[descripcion];
$texto bbcode($datos[contenido]);
$texto php($datos[contenido]);
$cat $datos[categoria];
$com $datos[comentarios];
echo 
'<table width="550" border="0" cellpadding="0" cellspacing="1" bgcolor="#ffffff" class="tablareg">
<tr>
<td bgcolor="#eeeeee" style="border: 1px solid #999999; padding: 3px;"><a class="link4" href="tutorialescat.php"><b>Categorías</b></a> | <a class="link4" href="javascript:history.back()"><b>'
.$cat.'</b></a></td>
</tr>
<tr>
<td style="border: 1px solid #999999; padding: 5px;"><b><font size="3">'
.$datos[titulo].'</font></b></td>
</tr>
<tr><td bgcolor="#eeeeee" style="border: 1px solid #999999; padding: 3px;"><img src="images/user.gif"> Enviado por <a class="link4" href=perfil.php?id='
.$datos[idautor].'><b>'.$datos[autor].'</b></a> el <b>'.$fecha.'</b> - visto: <b>'.$num.'</b> veces.</td></tr>
<tr><td><div class="cuerpo">'
.$des.'<br />'.$texto.'</div></td></tr>
</table><br>'
;
}
mysql_query($query);
?>
no se ke pueda estar fallando en el segundo codigo, dijo ke creara una sesion llamada $_SESSION[pagina] y mediante un if, pregunto cual es el valor de la variable $_SESSION['pagina']. En caso de ser distinto a un valor determinado, actualizo la tabla de tutoriales sumandole una visita, e igualo el nombre de la variable $_SESSION['pagina'] a un valor que por ejemplo puede ser "pagina".$id donde $id es el id del tutorial. Ese "pagina".$id es el valor determinado. pero la cosa es ke sigue sin funcionar, alguien sabe ke pueda estar fallando o alguna otra solucion please??

muchas gracias y Un saludo