ФорумПрограммированиеPHP для идиотов → Запись в БД и переадресация

Запись в БД и переадресация

  • smv

    Сообщения: 236 Репутация: N Группа: Кто попало

    Spritz 2 августа 2009 г. 20:27

    Есть форма, в которую вводятся определенные данные. Есть кнопка Submit, по нажатию которой происходит запись в БД. Необходимо сделать так, чтобы после нажатия на кнопку происходила запись в БД и сразу же перенапровление на другую страницу. Пробывал сделать перенаправление header'ом. Тут странная штука получилась. на одном компе работает на другом нет. И пробелы проверил и статью почитал которую тут часто дают в помощь таким как я. А странность в том что перед header вывод данных есть (echo), но на разных компах результат разный. В качетсве альтернативы пробывал сделать кнопку-ссылку, но тоже безуспешно, т.е. либо срабатывает либо запись либо переход. Подскажите пожалуйста как можно реализовать запись в БД и переход на другую страницу без использования header. Ну или как побороть его.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 августа 2009 г. 20:35, спустя 8 минут 38 секунд

    smv, http://php.net/ob почитай
    Сапожник без сапог
  • smv

    Сообщения: 236 Репутация: N Группа: Кто попало

    Spritz 2 августа 2009 г. 20:49, спустя 13 минут 31 секунду

    а кроме буфиризации есть какие нибудь варианты?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 августа 2009 г. 20:52, спустя 2 минуты 43 секунды


    а кроме буфиризации есть какие нибудь варианты?
    а зачем?
    Спустя 12 сек.
    можешь ехо сначала снести
    Спустя 19 сек.
    + если бы ты понимал что такое ехо и что такое буферизация, то не спрашивал бы такие вопросы ..
    Сапожник без сапог
  • Mr.Pihto

    Сообщения: 1386 Репутация: N Группа: Адекваты

    Spritz 2 августа 2009 г. 21:01, спустя 9 минут 36 секунд

    smv, вместо хедера юзай мета или скриптом
    <meta http-equiv="refresh" content="0; url=http://pyha.ru">
    <script>document.location.href="pyha.ru"</script>
    Спустя 116 сек.
    а то что на 1 компе работает хедер то это потому что или натройки апача\пхп такие или кривой апач\пхп
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 августа 2009 г. 21:21, спустя 19 минут 15 секунд

    Mr.Pihto, я могу предположить что версии пхп разные, в 5ой если я не ошибаюсь буферинг включен по дефолту
    Сапожник без сапог
  • Mr.Pihto

    Сообщения: 1386 Репутация: N Группа: Адекваты

    Spritz 2 августа 2009 г. 22:01, спустя 40 минут 39 секунд

    ну я хз про буфера)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 августа 2009 г. 22:12, спустя 10 минут 59 секунд


    ну я хз про буфера)
    ждем МД5, он точно в курсе про буфера
    Сапожник без сапог
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 7 августа 2009 г. 15:12, спустя 4 дня 17 часов

    Сделай так:



    // переадресасийа при условии что выполнена запись
    if ($_SESSION['accept']==1){
    $_SESSION['accept']=0;
    header["Location:index.php"];}

    Здесь сама форма и запись в бд

    //Если запись прошла успешно, то есть условие выполнено
    $_SESSION['accept']=1;



    То есть хедер в самом верху. Усе.
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 7 августа 2009 г. 16:34, спустя 1 час 21 минуту 47 секунд

    мдя… советы страшные, честно говоря :)
    Просто эхо убрать, как сказал Дуд, и не ипать моск. Эхо тут не нужно, так как все равно скрипт не будет ничего отдавать. а сразу же отправить юзера на другую страницу. Вот там уже и отдавай ему мессагу об успешной записи данных из формы.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!