Есть страница,а в ней вот такой код: '<a class="ferma_add" href="/add/'.$ff["id"].'">Добавить</a>'; Меня перекидывает на страницу добавления Там такой код: $id = (isset($_GET['id']) && !empty($_GET['id'])) ? intval($_GET['id']) : 0; Т.е получаем id Далее добавляю в бузу этот id $db->Query("INSERT INTO db_add (id_users, id_ff) VALUES ('$usid','$id')"); echo "<center><font color = 'green'><b>Добавлено!</b></font></center><BR />"; Всё вставляется. Далее что бы не добавлять это же id ,я сравниваю $db->Query("SELECT * FROM db_add WHERE id_users = '$usid'"); $ff_add = $db->FetchArray(); if($ff_add["id_ff"] == $id) { Всё хорошо,первый id который я добавил сравнивается,но вот последующие id проскакивают через if($ff_add["id_ff"] == $id) { и их можно опять добавить,т.е они дублируются в базе,но первый добавленный id сравниваеся нормально. В чём фишка,где моя ошибка??Помогитее.
отладка/debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
if($ff_add["id_ff"] == $id) { IF ( 0 == 0 ) { --- Добавлено --- PHP: var_dump( (int)$ff_add['id_ff'] . " == {$id}" ); if($ff_add["id_ff"] == $id) { зацени
Достаточно: PHP: # PHP 5.* $id = (int)( !empty ( $_GET['id'] ) ? $_GET['id'] : 0 ); # PHP 7 $id = (int)( $_GET['id'] ?: 0 ); --- Добавлено --- ладно тут можно isset -> ( ?? ) замутить так как (int) идет после