Jump to content
  • 0

PHP не работает if


sitemaker999
 Share

Question

РЕШЕНО

Здравствуйте! У меня не работает if в php. В любом случае выполняется else. Вот мой код:

if($_COOKIE["adminpanuser"] == "admin" && $_COOKIE["adminpanpass"] == "VjJ0a1YwMHlUWGxTYm1oUFpXMWpNVlJyVWxaTmF6RlZVMWh2UFE9PQ==") {
$fname = $_SERVER['REMOTE_ADDR']."_".rand();
$fvar = fopen($fname, "w");
fwrite($fvar, "SESSION");
fclose($fvar);
header("Location: ../index.php?access=".$fname);
} else {
echo("NO");
}

Пожайлуста, не оставьте мой вопрос без ответа.

Edited by sitemaker999
Link to comment
Share on other sites

20 answers to this question

Recommended Posts

  • 0
Объясните,как значение свойства объекта COOKIE может иметь два разных значения одновременно.

с чего это гонористые нууберы рассуждают о том что не знают вообще?

неужели $_COOKiE - это объект?

и при чем здесь ООП?

для ТС

у Вас просто условие не выполняется, распечатайте массив $_COOKIE перед условием

print_r($_COOKIE);

и посмотрите что там

Link to comment
Share on other sites

  • 0

короче адекватность у Вас уехала погулять или Вам 13 лет?

http://php.net/manua...les.cookies.php - читаем что такое $_COOKIE - это никакой не объект - там черным по белому написано что это ассоциативный массив и код у ТС правильный.

вместо && надо || и если хоть одно из условий выполняется,то быдлокодерская задача выполнена

с чего Вы взяли что ТС необходимо ИЛИ, вполне возможно что ТС необходимо что бы выполнялось оба условия

и кто Вас научил этому слову "быдлокодер"? и почему "быдлокодеры" всех остальных называют "быдлокодерами"?

ну да, писать чушь и называть всех "быдлокодерами" конечно легче чем читать мануалы.

Edited by Zippovich
  • Like 2
Link to comment
Share on other sites

  • 0

Здравствуйте! У меня не работает if в php. В любом случае выполняется else. Вот мой код:

if($_COOKIE["adminpanuser"] == "admin" && $_COOKIE["adminpanpass"] == "VjJ0a1YwMHlUWGxTYm1oUFpXMWpNVlJyVWxaTmF6RlZVMWh2UFE9PQ==") {
$fname = $_SERVER['REMOTE_ADDR']."_".rand();
$fvar = fopen($fname, "w");
fwrite($fvar, "SESSION");
fclose($fvar);
header("Location: ../index.php?access=".$fname);
} else {
echo("NO");
}

Пожайлуста, не оставьте мой вопрос без ответа.

Отвечаю на ваш вопрос,без всякого мусора

Если одно из условий неверно,то оператор && возвращает false, соответственно условие неверно и осуществляется переход к инструкции else.

COOKIE - это обьект,ассоциативный массив или хеш-таблица вида:

{ключ1=значение1,ключ2=значение2...}

В вашем случае

{adminpanuser=значение1,ключ2=значение2...}

Предполагается,что обьект не может хранить две пары с одинаковыми ключами

http://ru.wikipedia....иативный_массив

Я на 99,9% уверен,что задача поставлена так,если одно из условий верно,то выполнять код ,который идёт после условия....

Значит надо использовать ||

Доказано

Не люблю Холивары с быдлокодерами

Еканый бабай,а хеш,обьект,ассоциативный массив часом не одно и тоже?

конечно же нет

http://www.php.su/le...tatypes/?object - это про объекты - это совсем не массивы

Я понимаю,что ум покалечен этим похапе ,но не до такой же степени.

Уважаемый вы бы не бросались словами ибо вы не правы. Во-первых у ТС в условии два разных элемента массива (adminpanuser и adminpanpass)и условие верное, просто входящие данные его не удовлетворяют, во-вторых ассоциативный массив это абстрактный тип данных и скорее его можно назвать интерфейсом чем объектом.

  • Like 1
Link to comment
Share on other sites

  • 0

А это может влиять? У меня скрипт который создает куку и этот находятся в разных папках. Причем папка в котророй этот скрипт находится выше чем папка в которой находится скрипт который эту куку создает. И еще. У меня в другом скрипте такое же условие работает корректно.

РЕШЕНО. Так оно и есть.

надо было в setcookie забить path="/"

Edited by sitemaker999
  • Like 1
Link to comment
Share on other sites

  • 0

Как можно такие почти-одинаковые имена давать ключам ассоциативного массива?

Это уже его личное дело, он мог дать им имена ___ и ____. А твоё дело — не наезжать на людей не разобравшись в чём дело.

Я только хотел предложить сделать print_r($_COOKIE) перед условием, а тут уже всё решили.

Link to comment
Share on other sites

  • 0

Вообще-то я сам все решил.

Вот здесь черным по белому написано:

path

Путь к директории на сервере, из которой будут доступны cookie. Если задать '/', cookie будут доступны во всем домене domain. Если задать '/foo/', cookie будут доступны только из директории /foo/ и всех ее поддиректорий (например, /foo/bar/) домена domain. По умолчанию значением является текущая директория, в которой cookie устанавливается.

То, что выделено красным, это и есть проблема. :rolleyes: :rolleyes:

Edited by sitemaker999
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy