Te pongo el código comentado
Código PHP:
//La variable predefinida $_SERVER nos da la IP con 'REMOTE_ADDR'
$ip = $_SERVER['REMOTE_ADDR'];
// Para insertar la fecha actual utiliza NOW() en la sentencia SQL, te ahorras código
$sql=mysql_query("INSERT INTO `contador` (`no`,`ip`,`fecha`) VALUES (NULL,'$ip',NOW())");
Para obtener más datos de $_SERVER mira esta información
$_SERVER
La conexión a la BD y el script del contador lo puedes poner en un fichero aparte y utilizar "include" en el index.php
Como has dicho puedes hacer una comprobación de que esa IP no ha visitado recientemente la página y añadirlo, así no aumentaría cuando el mismo pase varias veces por la principal.