За последние 24 часа нас посетили 133769 программистов и 2850 роботов. Сейчас ищут 1509 программистов ...

Добавление в БД

Тема в разделе "PHP для новичков", создана пользователем Михаил, 20 сен 2009.

  1. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    Привет.

    Вот не могу разобраться с записями в БД. Сделал такую простую форму для записи данныз в БД и печать тех которые там уже етсь, то есть вроде как гостевая книга...

    Всё работет с добавлением нормально, но при обновлении страницы выводиться опять та же запись которая уже была, то есть по идеи при обновлении ничего не должно просиходить, а здесь выводит коментарий, т.е. сколько раз обновил столько и получил своих коментариев.
    Не знаю как с этим справиться убирал вроде всё из $_POST, но всё равно не помогает...
    Как сделать так чтобы не было перезаписи?

    Спасибо.
     
  2. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Проверить условие, при котором происходит добавление.
     
  3. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    Какое там может быть условие?
    Имя должно быть именем имэил имэилом и что ещё?
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Михаил
    header("Refresh:0");
     
  5. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    Спасибо Mr.M.I.T.
    Я это в начало поставил тут началось непресказуемое...
    всё начало быстро как-то обновляться...)
    но... наверное вместо "0" нужно поставить другую цифру?
    а можно ли это решить так: смотреть существует ли нажатие на кнопку "Отправить" и если да, тогда писать в БД, нет тогда ничего не происходит?
     
  6. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    а вот это header("Refresh:0"); втыкнул в функцию добавления, и теперь при обновлении не добавляется, но зато даже при новой записи вместо неё выводится самая первая
     
  7. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    Mr.M.I.T.
    Раскланиваюсь в поклонах всё работает, это моя вина...)
     
  8. zionko

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

    С нами с:
    20 сен 2009
    Сообщения:
    22
    Симпатии:
    0
    делаешь добавление через $_GET action=add ( типа такова )
    нажимаешь добавить и если if ( $_GET[add] == "add" )
    {
    тут insert + редирект

    print '<meta http-equiv=Refresh content="0; URL=comments.php">';
    exit();
    }

    вот и все и не будет ни каких проблем с рефрешами
     
  9. Darevill

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

    С нами с:
    20 сен 2009
    Сообщения:
    50
    Симпатии:
    0
    зачем? ведь есть
    и при обновлении страницы массив $_POST будет уже пуст и добавление не произойдёт ещё раз.
     
  10. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    Спасибо, но я уже добавил
     
  11. zionko

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

    С нами с:
    20 сен 2009
    Сообщения:
    22
    Симпатии:
    0
    Darevill
    пост не будет пустым при refresh
     
  12. anubis

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

    С нами с:
    28 мар 2009
    Сообщения:
    41
    Симпатии:
    0
    zionko
    +1

    Darevill
    Просто условие сделать не нажатие кнопки и все.