Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Данные в БД добавляются 1 раз

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Edward
Отправлено: 18 Ноября, 2011 - 23:20:50
Post Id



Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Нояб. 2010  
Откуда: Украина, Харьков


Помог: 0 раз(а)




Здравствуйте. У меня очень странная проблема. На стационарном ПК и на ноутбуке установлен Denwer. Пишу, или пытаюсь написать свою личную небольшую CMS. Начал писать класс для работы с БД. И вот столкнулся с какой проблемой. Основной файл index.php, в него подключается файл header.php, в свою очередь в header.php подключается класс DB.php. Я тестирую метод insert() из класса DB. Так вот вся проблема в том, что при одном вызове insert() данные в БД вставляются 2 раза, через браузеры Chrome, 1 раз через FireFox, 1 раз через Safari при вызове скрипта через адресную строку и 2 раза при нажатии F5... На ноутбуке же через любой браузер и при любых условиях добавляется как положено 1 раз.

В чем может быть проблема ? В ПК, Denwer`е, погоде Закатив глазки ?

Хочу просто эту проблему не оставлять, а решить и понять, почему все происходит.

Вот метод, который я тестирую

PHP:
скопировать код в буфер обмена
  1.  
  2. function insert(
  3.                 $table = '', // Таблица, в которую вставляем данные
  4.                 $values // Строка со значениями, которые мы вставляем
  5.         ) {
  6.                 // Защита строки от SQL Inj
  7.                 //$values = mysql_real_escape_string( $values );
  8.                
  9.                 // Делаем запрос
  10.                 mysql_query( "INSERT INTO `" . $table . "` VALUES ( NULL, '" . $values . "' ) " ) OR die( mysql_error() . '2h0y8h2qibo20=gh4' );
  11.                
  12.                 return true;
  13.                
  14.         }
  15.  


Вот фрагмент кода ( header.php ), где вызывается метод:

PHP:
скопировать код в буфер обмена
  1.  
  2. // Подключаемся к БД
  3. $conn = new DB( DB_HOST, DB_USER, DB_PASS, DB );
  4. $conn->connect();
  5.  
  6.  
  7. $conn->insert( "test_table", "Homon" );
  8.  


А вот файл index.php, куда подключается файл header.php:

PHP:
скопировать код в буфер обмена
  1.  
  2. // Подключаем /engine/header.php
  3. if ( !require_once( DOC_ROOT . '/engine/header.php' ) ) { exit( 'Файл <b>/engine/header.php</b> не подключен' ); }
  4.  
 
 Top
De-Luxis
Отправлено: 19 Ноября, 2011 - 08:44:23
Post Id



Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Янв. 2009  


Помог: 1 раз(а)




если ты F5 нажимаешь, то страница обновляется. И запрос посылается повторно. Вот тебе и два раза.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB