Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: header
 
 автор: Oligarx   (18.03.2006 в 15:51)   письмо автору
 
 

require("../req/mysql.class");

$my=new class_mysql;
$my->sql_connect();
$my->sql_query="INSERT INTO 'tb_gvest' VALUES ('','$name','$mail','$icq','','','$msg');";
$my->sql_execute();
header('Location: http://localhost/gvest/www/qwe.php');

Никак не пойму ... вроде ничего в браузер не вывожу а заголовки отправляться нехотят :(( Пишет что они уже отправлены. Есть подозрение что при соединение с мускулом они отправляются. Тогда появляется вторая проблема (главная). Нужно сделать чтобы после добавления текста из формы в базу переменные обнулялись (чтоб при нажатии кнопки обновить они повторно не добавлялись в базу).
На всякий прикрепляю mycql.class

   
 
 автор: Botwing   (18.03.2006 в 16:20)   письмо автору
 
   для: Oligarx   (18.03.2006 в 15:51)
 

Функция getallheaders() - возвращает масси, содержащий все HTTP заголовки.

Попробуй

<?php
$headers  
getallheaders();
while (list (
$header$value) = each ($headers)) {
   echo 
"$header$valure<br>\n"
}
?>


Увидишь уже отправленные заголовки, поймёшь в чём заморочка. Правда сработает только если PHP-машина установлена как модуль к apache.

   
 
 автор: Oligarx   (18.03.2006 в 16:32)   письмо автору
 
   для: Botwing   (18.03.2006 в 16:20)
 

Да я уж понял в чём проблема ... но вот как решить задачу чтоб данные второй раз не отправлялись в базу ??? Если поставить header('Location: http://localhost/gvest/www/qwe.php'); перед отправлением в базу то работает, но мне нужно чтоб данные один раз отправились.
Я вот только что попробывал сделать так

<script language="JavaScript"> 
  window.location.href = "http://localhost/gvest/www/qwe.php"
</script>

Вроде всё отлично, меня вот только интересует, надёжен ли этот вариант (ведь у кого-нибуть может быть отключена ява ... ) ? Есть какие-нибуть другие методы решения данной задачи ?

   
 
 автор: kasmanaft   (18.03.2006 в 16:39)   письмо автору
 
   для: Oligarx   (18.03.2006 в 15:51)
 

возможно какая-то из строчек вашего скрипта произвела вывод в браузер... например это могла быть какая-то ошибка... поэтому header не отправляются...
попробуйте поставить собачек, или отключить error_raporting

(судя по последнему вашему скрипту ошибка происходит при добавлении данных в базу)

   
 
 автор: Oligarx   (18.03.2006 в 17:07)   письмо автору
 
   для: kasmanaft   (18.03.2006 в 16:39)
 

Нашёл ошибку ... . Всем спасибо.

Для форума коментарий ошибки никакой ценности не принесёт (нужно большое предисловие, причём совсем из другой оперы), поэтому в чём была ошибка история умалчивает. (как всегда ошибка не там где её ищут :))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования