Попробуйте ввести $_SESSION['token']
в форму вместо $token
, если вы случайно переназначили его между созданием токена и выводом формы.
Однажды у меня была проблема, очень похожая на эту, когда я разрабатывал что-то, на что у меня ушло много лет, и оказалось, что это потому, что я оставил <img src=''>
, потому что у меня еще не было изображения - это привело к повторному запросу страницы, поскольку пустое значение src
означает «эта страница», поэтому маркер был заново сгенерирован после загрузки страницы.
Еще одна вещь, которую нужно проверить, - это если атрибут action
формы отсутствует или какое-либо значение, указывающее на себя, токен может быть регенерирован при отправке формы, перед оператором if (...)
.