Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Что здесь неправильно...?
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
Что здесь неправильно...? [сообщение #17500]

if (isset($HTTP_COOKIE_VARS[language]) AND (!isset($HTTP_POST_VARS['language']) OR !isset($HTTP_GET_VARS['language'])))

при вызове script.php?language=english это условие выполняется, хотя по логике не должно, если меняю на
if (isset($HTTP_COOKIE_VARS[language]) AND !isset($HTTP_GET_VARS['language']))
то все нормально.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 27-07-2002 13:38
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
SCHIZO
STFW
Средний рейтинг: 5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус: SCHIZO в оф-лайне
[сообщение #17505]

Дело в том что запрос может быть сделан одним из методов GET или POST... т.е. они взаимоисключают друг друга.
Когда ты вызываешь скрипт с установленым $_GET['languige'] то в $_POST['languige'] оно будет empty или !isset , т.е. условие выполняется =) ...и наоборот при POST запросе - $_GET['languige'] будет пустым

Вместо OR попробуй написать XOR

may be help...

P.S.
..а зачем такие длинные названия массивов?
есть же просто $_GET $_POST $_COOKIE $_REQUIEST

__________________
FAQ OFF

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 27-07-2002 14:03
Нажмите сюда для просмотра профайла SCHIZO Отправить Персональное сообщение SCHIZO Посетить домашнию страничку SCHIZO! Найти сообщения от SCHIZO Добавить SCHIZO в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #17507]

Ð_то понятно что таже переменная не не может быть переданы и гетом и постом, но тут трабла в другом: можно рассшивровать так:
если нет куков и ланг из пост или гет пусты то выполнить - так? не понятно почему не работает, XOR тоже не помог.

quote:
P.S.
..а зачем такие длинные названия массивов?
есть же просто $_GET $_POST $_COOKIE $_REQUIEST

ну это по привычке

polo добавил 27-07-2002 в 14:13:44:
тоесть я хочу выполнить это условие только в том случае если скрипту не передали никаких параметров через POST либо через GET и установлены куки.

polo добавил 27-07-2002 в 14:35:30:
да уж пришлось извратится полностью, написал так

PHP:

if (!isset($HTTP_GET_VARS['language'])) {
   if (isset(
$HTTP_COOKIE_VARS[language]) AND !isset($HTTP_POST_VARS['language'])) {


все работает, но для меня всеравно остается загадкой почему не работает первый вариант, глюк пхп?

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 27-07-2002 14:09
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
SCHIZO
STFW
Средний рейтинг: 5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус: SCHIZO в оф-лайне
[сообщение #17519]

тогда выйдет подлиннее...

PHP:


// функция возвращет TRUE если указанный параметр
// присутсвует только в куках и отсутсвует в массиве запроса
function is_only_cookie($param)
{
    
$yes = 0;

    if (!empty(
$_COOKIE[$param]))
    {
                if(empty(
$_GET[$param]))   $yes = 1;
                if(empty(
$_POST[$param])) $yes = 1;
    }

    return 
$yes;
}

// потом...
if (is_only_cookie($param)) // что то сделать

__________________
FAQ OFF

Сообщение было отредактировано SCHIZO 27-07-2002 в 15:22

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 27-07-2002 15:06
Нажмите сюда для просмотра профайла SCHIZO Отправить Персональное сообщение SCHIZO Посетить домашнию страничку SCHIZO! Найти сообщения от SCHIZO Добавить SCHIZO в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #17524]

Спасибо но уж нет, мой вариант канает. Тем более мне это один раз использовать надо.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 27-07-2002 15:19
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
SCHIZO
STFW
Средний рейтинг: 5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус: SCHIZO в оф-лайне
[сообщение #17525]

еще вариант...

PHP:


// обрати внимание
$HTTP_COOKIE_VARS[language];
// или...?
$HTTP_COOKIE_VARS['language'];
// есть разница?


P.S.
в начале любого тестового скрипта рекомендуется сделать:

PHP:

error_reporting
(E_ALL);


а у тебя по всей видимости нотисы не показывает...

__________________
FAQ OFF

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 27-07-2002 15:20
Нажмите сюда для просмотра профайла SCHIZO Отправить Персональное сообщение SCHIZO Посетить домашнию страничку SCHIZO! Найти сообщения от SCHIZO Добавить SCHIZO в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #17526]

у меня в пхп.ини стоит E_ALL.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 27-07-2002 15:22
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
SCHIZO
STFW
Средний рейтинг: 5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус: SCHIZO в оф-лайне
[сообщение #17528]

значт не из за того что я думал...
P.S.
нотисы по поводу кавычек связаны еще с *magic_quotes*
но я их все всегда отключаю

.. мой PHP орет обычно если такое встречает

P.S.P.S.
иногда программирование превращается в извращение =)

__________________
FAQ OFF

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 27-07-2002 15:28
Нажмите сюда для просмотра профайла SCHIZO Отправить Персональное сообщение SCHIZO Посетить домашнию страничку SCHIZO! Найти сообщения от SCHIZO Добавить SCHIZO в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #17544]

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

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 27-07-2002 16:31
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
SCHIZO
STFW
Средний рейтинг: 5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус: SCHIZO в оф-лайне
[сообщение #17553]

дак в чем было дело то? в кавычках или в чем?

P.S.
а мы старались... старались..

__________________
FAQ OFF

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 27-07-2002 17:25
Нажмите сюда для просмотра профайла SCHIZO Отправить Персональное сообщение SCHIZO Посетить домашнию страничку SCHIZO! Найти сообщения от SCHIZO Добавить SCHIZO в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
MyCom
Участник

Зарегистрирован: Aug 2001
Место проживания:
Публикаций: 8
Статус: MyCom в оф-лайне
[сообщение #17781]

polo, Ошибка в самой логике (прочти внимательно свой первый код, сразу ясно станет).
В твоем случае, нужно везде AND ставить:



PHP:


if (
isset(
$HTTP_COOKIE_VARS[language]) AND 
!isset(
$HTTP_POST_VARS['language']) AND
!isset(
$HTTP_GET_VARS['language'])
)

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 29-07-2002 21:02
Нажмите сюда для просмотра профайла MyCom Отправить Персональное сообщение MyCom Посетить домашнию страничку MyCom! Найти сообщения от MyCom Добавить MyCom в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
SCHIZO
STFW
Средний рейтинг: 5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус: SCHIZO в оф-лайне
[сообщение #17799]

просто смешно стало - как все было просто =)
10 сообщений ни очем

P.S.
где ж ты раньше был? =)

__________________
FAQ OFF

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 29-07-2002 23:16
Нажмите сюда для просмотра профайла SCHIZO Отправить Персональное сообщение SCHIZO Посетить домашнию страничку SCHIZO! Найти сообщения от SCHIZO Добавить SCHIZO в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 03:46.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.29407501 seconds (98.24% PHP - 1.76% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.