За последние 24 часа нас посетили 15639 программистов и 1554 робота. Сейчас ищут 873 программиста ...

Не получается сравнить $_GET["id"] с базой

Тема в разделе "PHP для новичков", создана пользователем Zheka007, 12 ноя 2016.

  1. Zheka007

    Zheka007 Активный пользователь

    С нами с:
    26 янв 2014
    Сообщения:
    25
    Симпатии:
    0
    Есть страница,а в ней вот такой код:
    '<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 сравниваеся нормально.
    В чём фишка,где моя ошибка??Помогитее.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. Zheka007

    Zheka007 Активный пользователь

    С нами с:
    26 янв 2014
    Сообщения:
    25
    Симпатии:
    0
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    if($ff_add["id_ff"] == $id) {

    IF ( 0 == 0 ) {
    --- Добавлено ---
    PHP:
    1. var_dump( (int)$ff_add['id_ff'] . " == {$id}" );
    2. if($ff_add["id_ff"] == $id) {
    зацени
     
  5. Zheka007

    Zheka007 Активный пользователь

    С нами с:
    26 янв 2014
    Сообщения:
    25
    Симпатии:
    0
    Спасибо тебе добрый человек!
    Понял свой косяк,уже исправил!
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    Достаточно:
    PHP:
    1. # PHP 5.*
    2. $id = (int)( !empty ( $_GET['id'] ) ? $_GET['id'] : 0 );
    3. # PHP 7
    4. $id = (int)( $_GET['id'] ?: 0 );
    --- Добавлено ---
    ладно тут можно isset -> ( ?? ) замутить так как (int) идет после