w dużym skrócie:
Mam formularz, który ma unikalny <input type="hidden"> z wartością $_SESSION['key'] - ten kod po dokonaniu INSERT w SQL jest zmieniany aby zapobiec ponownemu INSERT przez np. F5
Dotychczas raczej działało to bezproblemowo, ale aktualnie moje IFy przepuszczają mimo, że nie powinny i troche zgłupiałem... tak wygląda kod:
if ($_POST['id']==$_SESSION['key'] AND $_POST['formularz']==TRUE AND $_POST['kom']==TRUE) { $KOMENTARZ = czysc($_POST['kom'],1); $KOMENTARZ = $con -> real_escape_string($KOMENTARZ); $sql="INSERT INTO ..."; if(mysqli_query($con, $sql)) { $_SESSION['key'] = 123; $INFO .= "<BR/>Insert=DONE! <BR/>".$_POST['id']."==".$_SESSION['key']."<BR/>"; $_POST['kom'] = 0; $KOMENTARZ = ''; mysqli_close($con); } }
Przy każdym odświeżeniu (F5) pojawia się Insert w bazie, mimo że $_POST['id'](123456789) != $_SESSION['key'](123)
Wiem, że przeglądarka zapisuje wartości, ale serwer mimo wszystko powinien skontrolować każde odświeżenie w IFie - mam rację

PS: wiem, że można to obejść headerem(), ale chce się dowiedzieć czy to wynik błędu czy brak wiedzy?
EDIT:
Jednak mam racje, ha! Xampp się wysypał przy ponownym uruchomieniu, ale to i tak było bardzo dziwne...