Dominator troche pomieszał warunki i chyba przez to nie działa.
Jeszcze przed wysłaniem formularza ustaw sobie zmienną sesji (lub np. ciasteczko), np.
$_SESSION['wyslano'] = 0;
Na stronie, na której przesyłasz dane do bazy - PRZED wysłaniem sprawdzaj, czy ta zmienna jest ustawiona na 1. Jeśli nie jest - prześlij dane i ustaw zmienną na 1.
Jeśli tak - nie przesyłaj.
Zamiast 0 - 1 możesz ustawić np. tytuł dodawanego wpisu. Wtedy możliwe będzie dodanie innego wpisu, ale nie takiego samego.
Sprawdziłem to u siebie na prostym skrypcie i działa.
formularz.php<?php
$_SESSION['wyslano'] = 0;
?>
<html><head></head><body>
<form action="wyslij.php" method="post"><input type="text" name="dane" /><input type="submit" name="dodaj" value="dodaj" /></form>
</body></html>
wyslij.php<?php
if($_SESSION['wyslano'] == 0)
{
$_SESSION['wyslano'] = 1;
}
else
{
}
?>