alekciy
Новичок
На localhost скрипт работает как нужно, в Интернете не хочет. (+)
Собственно написал я скрипт для работы с БД на XML:
http://alekciy.h16.ru/freelance/franky/index.php?page=view&sample=clear
При включении галочек и нажатии кнопки "Показать выбранное" после отправки формы мы получаем только те данные, которые отметили в форме. При тестировании на своем компе все работает как и задумано, а при выкладывании в сеть после нажатия этой кнопки мы получаем не выбранные значения, а всю БД
Уже ума не приложу, в чем может быть дело. Однако после многочисленных экспериментов удалось установить приблизительно место бага. Текст всего скрипта приводить смысла нет, он очень большой. Но логика такова.
При запуске скрипта стартует сессия и все данные из БД записываються в сессионные переменные. Если пользователь отправляют форму скрипту, то происходит перебор сессионых переменных и если галочка включена, то создается элемент массива.
Первые три строки я написал для отладки. И вот что выходит. Т.к. этот код в начале скрипта, и ни какие переменные ещё не инициированы, то код print_r($name) ни чего по идее выводит в браузер не должен. На localhost так и происходит, а вот в сети нет! Отчего же так? Может от того, что сервер в интернете работает под FreeBSD, а у меня под Windows? Может так быть, что значение массива $name он сам заполняет данными (или сохраняет значения массива? ведь работа ведёться в пределах одной сессии).
Собственно написал я скрипт для работы с БД на XML:
http://alekciy.h16.ru/freelance/franky/index.php?page=view&sample=clear
При включении галочек и нажатии кнопки "Показать выбранное" после отправки формы мы получаем только те данные, которые отметили в форме. При тестировании на своем компе все работает как и задумано, а при выкладывании в сеть после нажатия этой кнопки мы получаем не выбранные значения, а всю БД

Уже ума не приложу, в чем может быть дело. Однако после многочисленных экспериментов удалось установить приблизительно место бага. Текст всего скрипта приводить смысла нет, он очень большой. Но логика такова.
При запуске скрипта стартует сессия и все данные из БД записываються в сессионные переменные. Если пользователь отправляют форму скрипту, то происходит перебор сессионых переменных и если галочка включена, то создается элемент массива.
PHP:
print 'Значение массива name';
print_r($name);
print '<br>';
if ($_POST['session'] == 'yes') { //если данные отправлены из формы, начинаем перебор
foreach ($_SESSION['date'] as $key => $val) {
$k = "cbox$key"; //имя тегов input из формы запроса
if ($_POST[$k] == 'on') {
$date[$key] = $_SESSION['date'][$key]; //создаем элементы массивов
$name[$key] = $_SESSION['name'][$key];
$city[$key] = $_SESSION['city'][$key];
$street[$key] = $_SESSION['street'][$key];
$home[$key] = $_SESSION['home'][$key];
$telephone[$key] = $_SESSION['telephone'][$key];
$fax[$key] = $_SESSION['fax'][$key];
$scheme_journey[$key] = $_SESSION['scheme_journey'][$key];
$price[$key] = $_SESSION['price'][$key];
$flag++; //если окажеться, что пользователь не выбрал ни одну галочку
//то это флаг равень нулю
};
};
};