Bien, recomponiendo un poco el script me queda así:
Código PHP:
<?php
session_start();
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
?>
<?php
mysql_select_db("miDB", $con);
$result = mysql_query("SELECT numero FROM visitas");
$row = mysql_fetch_array($result);
$conta = $row['visitas']; //aquí saco las visitas hasta este momento
if(isset($_SESSION['contador'])){ //si esta variable estaba inicializada no hace nada
}else{ //si no suma una visita y lo graba en la DB
$conta = $conta + 1;
mysql_query("UPDATE visitas SET numero =" . $conta);
}
$_SESSION['contador'] = 1;
echo $conta; //
mysql_close($con);
?>
Ahora funciona en todos los navegadores menos en chrome que falla. La cuestión es que he comprobado que a veces pasa por las dos ramas del IF , con lo que alguna vez actualiza sumando una nueva visita en la misma sesión.
Empiezo a ponerme de los nervios