Здравствуйте. У меня очень странная проблема. На стационарном ПК и на ноутбуке установлен Denwer. Пишу, или пытаюсь написать свою личную небольшую CMS. Начал писать класс для работы с БД. И вот столкнулся с какой проблемой. Основной файл index.php, в него подключается файл header.php, в свою очередь в header.php подключается класс DB.php. Я тестирую метод insert() из класса DB. Так вот вся проблема в том, что при одном вызове insert() данные в БД вставляются 2 раза, через браузеры Chrome, 1 раз через FireFox, 1 раз через Safari при вызове скрипта через адресную строку и 2 раза при нажатии F5... На ноутбуке же через любой браузер и при любых условиях добавляется как положено 1 раз.
В чем может быть проблема ? В ПК, Denwer`е, погоде ?
Хочу просто эту проблему не оставлять, а решить и понять, почему все происходит.
Вот метод, который я тестирую
PHP:
скопировать код в буфер обмена
function insert( $table = '', // Таблица, в которую вставляем данные $values // Строка со значениями, которые мы вставляем ) { // Защита строки от SQL Inj //$values = mysql_real_escape_string( $values ); // Делаем запрос mysql_query( "INSERT INTO `" . $table . "` VALUES ( NULL, '" . $values . "' ) " ) OR die( mysql_error() . '2h0y8h2qibo20=gh4' ); return true; }
Вот фрагмент кода ( header.php ), где вызывается метод:
PHP:
скопировать код в буфер обмена
// Подключаемся к БД $conn = new DB( DB_HOST, DB_USER, DB_PASS, DB ); $conn->connect(); $conn->insert( "test_table", "Homon" );
А вот файл index.php, куда подключается файл header.php:
PHP:
скопировать код в буфер обмена
// Подключаем /engine/header.php if ( !require_once( DOC_ROOT . '/engine/header.php' ) ) { exit( 'Файл <b>/engine/header.php</b> не подключен' ); }
|