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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите исправить проблему с функцией обработки ошибок - теряются GET-параметры

Сообщения:  [1-10]   [11-16] 

 
 автор: Z3RO   (03.05.2011 в 21:02)   письмо автору
 
   для: cheops   (03.05.2011 в 20:58)
 

Изначально он передаётся, поскольку переключатель режимов работает без ошибок.

  Ответить  
 
 автор: cheops   (03.05.2011 в 20:58)   письмо автору
 
   для: Z3RO   (03.05.2011 в 20:55)
 

Тогда независимо от того, есть установлен параметр $_GET['admclub'] или нет, он будет передаваться. У вас достаточно хитрая и запутанная система проверки существования ?admclub. Хотя на мой взгляд вроде бы рабочая, странно, что у вас параметр admclub теряется (если он, конечно, изначально передается скрипту).

  Ответить  
 
 автор: Z3RO   (03.05.2011 в 20:55)   письмо автору
 
   для: Z3RO   (03.05.2011 в 20:53)
 

Нашел где ошибка.
Если
$t = ($type == 2 ? '?admclub' : '');
заменить на
$t = '?admclub';, то всё ОК.
Спасибо за помощь.

  Ответить  
 
 автор: Z3RO   (03.05.2011 в 20:53)   письмо автору
 
   для: cheops   (03.05.2011 в 20:45)
 

Да, вы правы. Проблема с $t значение $t = NULL;

  Ответить  
 
 автор: cheops   (03.05.2011 в 20:45)   письмо автору
 
   для: Z3RO   (03.05.2011 в 20:41)
 

Вот перед этим проблемным участком напишите
<?php
  
echo "t = ".$t;
  exit();
?>
Каково состояние переменной $t?

  Ответить  
 
 автор: Z3RO   (03.05.2011 в 20:41)   письмо автору
 
   для: cheops   (03.05.2011 в 20:33)
 

Может больший кусок кода скажет вам больше?

// Уничтожение сообщений из базы после устарения
mysql_query("DELETE FROM `guestbook` WHERE (`del` < $time - $fulldel) AND (`del` != '');");

// Проверка режима(обычный/админ-клуб)
$type = (isset($_GET['admclub']) ? '2' : '1');
$t = ($type == 2 ? '?admclub' : '');
if($type == 2)
echo error('1');
// Если режим админклуба, делаем проверку на права доступа
if($type == 1 || ($type == 2 && $rights >= 1))
{
// Добавление новых сообщений
if(($user_id && $_POST['text']) || (!$user_id && $_POST['text'] && $_POST['name']))
{
$text = escstr($_POST['text']);
$name = escstr($_POST['name']);
$type = $_POST['type'];
// Проверка на существование сообщения
$prov = mysql_num_rows(mysql_query("SELECT * FROM `guestbook` WHERE `text` = '" . $text . "' AND `from` = '" . $user_id . "';"));
if(!$prov)
{
// Проверка на флуд
$timeprov = mysql_num_rows(mysql_query("SELECT * FROM `guestbook` WHERE `date` >= $time - 5 AND `from` = $user_id;"));
if(!$timeprov)
{
if($user_id)
$req = mysql_query("INSERT INTO `guestbook` VALUES(0, '" . $user_id . "', '', '" . $text . "', '" . $time . "', '', '" . $type . "', '" . $user_ip . "', '" . $agn . "', '');");
else
$req = mysql_query("INSERT INTO `guestbook` VALUES(0, '', '" . $name . "', '" . $text . "', '" . $time . "', '', '1', '" . $user_ip . "', '" . $agn . "', '');");
if($req)
{
mysql_query("UPDATE `users` SET `guestbook` = `guestbook`+1 WHERE `id` = $user_id;");
if($type == 2)
header("Location: " . $home . "/guestbook/?admclub");
else
header("Location: " . $home . "/guestbook");
}
// Вывод ошибок
else
echo error('4');
}
else
//////////////////////
// ПРОБЛЕМНЫЙ УЧАСТОК 1
//////////////////////
echo error('15', '/guestbook/index.php' . $t .'');
}
else
//////////////////////
// ПРОБЛЕМНЫЙ УЧАСТОК 2
//////////////////////
echo error('14', '/guestbook/index.php' . $t .'');
}
else{
// Переключатель режимов
if($rights >= 1)
{
if($type == 1)
echo '<div class="zag">Гостевая | <a href="?admclub">Админ-клуб</a></div>';
else
echo '<div class="alarm"><a href="?">Гостевая</a> | Админ-клуб</div>';
}

  Ответить  
 
 автор: cheops   (03.05.2011 в 20:33)   письмо автору
 
   для: Z3RO   (03.05.2011 в 20:29)
 

Значит где-то теряется параметр admclub, нужно его проверять до вызова функции.

  Ответить  
 
 автор: Z3RO   (03.05.2011 в 20:29)   письмо автору
 
   для: cheops   (03.05.2011 в 20:28)
 

Да, но функция перекидывает на /guestbook/index.php?
Может скинуть вам весь код?

  Ответить  
 
 автор: cheops   (03.05.2011 в 20:28)   письмо автору
 
   для: Z3RO   (03.05.2011 в 20:21)
 

Вам такой URL и нужен?

  Ответить  
 
 автор: Z3RO   (03.05.2011 в 20:21)   письмо автору
 
   для: cheops   (03.05.2011 в 20:13)
 

Выводит ошибку
EntityRef: expecting ';'
При изменении 7 строки на
$end = '&amp;error=' . $n;
Возвращает строку
Location: http://site/guestbook/index.php?admclub&error=1

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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