si un método u otro. Pero creo que mejor con sesiones que estan en el servidor y el usuario no puede modificarlas.
Un ejemplo rapido por si te puede aclarar (no lo he probado)
Código PHP:
//obtenemos los datos
$nombre = $_POST["nombre"];
//ralizamos la consulta
$query="insert into...";
//ejecutamos
if(isset($_POST["nombre"]) && !isset($_SESSION["yaPasoUnaVez"]))
{
mysql_query($query);
$_SESSION["yaPasoUnaVez"] = 1;
}