sitemaker999 Posted April 13, 2013 Report Share Posted April 13, 2013 (edited) РЕШЕНОЗдравствуйте! У меня не работает 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 April 13, 2013 by sitemaker999 Link to comment Share on other sites More sharing options...
0 max2012 Posted April 13, 2013 Report Share Posted April 13, 2013 (edited) -5 Edited April 14, 2013 by max2012 Link to comment Share on other sites More sharing options...
0 Zippovich Posted April 13, 2013 Report Share Posted April 13, 2013 Объясните,как значение свойства объекта COOKIE может иметь два разных значения одновременно. с чего это гонористые нууберы рассуждают о том что не знают вообще?неужели $_COOKiE - это объект?и при чем здесь ООП?для ТСу Вас просто условие не выполняется, распечатайте массив $_COOKIE перед условиемprint_r($_COOKIE);и посмотрите что там Link to comment Share on other sites More sharing options...
0 max2012 Posted April 13, 2013 Report Share Posted April 13, 2013 (edited) -4 Edited April 14, 2013 by max2012 Link to comment Share on other sites More sharing options...
0 Zippovich Posted April 13, 2013 Report Share Posted April 13, 2013 (edited) короче адекватность у Вас уехала погулять или Вам 13 лет?http://php.net/manua...les.cookies.php - читаем что такое $_COOKIE - это никакой не объект - там черным по белому написано что это ассоциативный массив и код у ТС правильный.вместо && надо || и если хоть одно из условий выполняется,то быдлокодерская задача выполненас чего Вы взяли что ТС необходимо ИЛИ, вполне возможно что ТС необходимо что бы выполнялось оба условияи кто Вас научил этому слову "быдлокодер"? и почему "быдлокодеры" всех остальных называют "быдлокодерами"?ну да, писать чушь и называть всех "быдлокодерами" конечно легче чем читать мануалы. Edited April 13, 2013 by Zippovich 2 Link to comment Share on other sites More sharing options...
0 max2012 Posted April 13, 2013 Report Share Posted April 13, 2013 (edited) -1 Edited April 14, 2013 by max2012 Link to comment Share on other sites More sharing options...
0 Zippovich Posted April 13, 2013 Report Share Posted April 13, 2013 (edited) Еканый бабай,а хеш,обьект,ассоциативный массив часом не одно и тоже?конечно же нетhttp://www.php.su/learnphp/datatypes/?object - это про объекты - это совсем не массивы Edited April 13, 2013 by Zippovich 1 Link to comment Share on other sites More sharing options...
0 max2012 Posted April 13, 2013 Report Share Posted April 13, 2013 (edited) -3 Edited April 14, 2013 by max2012 Link to comment Share on other sites More sharing options...
0 wwt Posted April 13, 2013 Report Share Posted April 13, 2013 Здравствуйте! У меня не работает 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)и условие верное, просто входящие данные его не удовлетворяют, во-вторых ассоциативный массив это абстрактный тип данных и скорее его можно назвать интерфейсом чем объектом. 1 Link to comment Share on other sites More sharing options...
0 max2012 Posted April 13, 2013 Report Share Posted April 13, 2013 Как можно такие почти-одинаковые имена давать ключам ассоциативного массива? Link to comment Share on other sites More sharing options...
0 sitemaker999 Posted April 13, 2013 Author Report Share Posted April 13, 2013 (edited) А это может влиять? У меня скрипт который создает куку и этот находятся в разных папках. Причем папка в котророй этот скрипт находится выше чем папка в которой находится скрипт который эту куку создает. И еще. У меня в другом скрипте такое же условие работает корректно.РЕШЕНО. Так оно и есть.надо было в setcookie забить path="/" Edited April 13, 2013 by sitemaker999 1 Link to comment Share on other sites More sharing options...
0 Int Posted April 13, 2013 Report Share Posted April 13, 2013 Как можно такие почти-одинаковые имена давать ключам ассоциативного массива?Это уже его личное дело, он мог дать им имена ___ и ____. А твоё дело — не наезжать на людей не разобравшись в чём дело.Я только хотел предложить сделать print_r($_COOKIE) перед условием, а тут уже всё решили. Link to comment Share on other sites More sharing options...
0 sitemaker999 Posted April 14, 2013 Author Report Share Posted April 14, 2013 (edited) Вообще-то я сам все решил.Вот здесь черным по белому написано:pathПуть к директории на сервере, из которой будут доступны cookie. Если задать '/', cookie будут доступны во всем домене domain. Если задать '/foo/', cookie будут доступны только из директории /foo/ и всех ее поддиректорий (например, /foo/bar/) домена domain. По умолчанию значением является текущая директория, в которой cookie устанавливается.То, что выделено красным, это и есть проблема. :rolleyes: Edited April 14, 2013 by sitemaker999 Link to comment Share on other sites More sharing options...
0 Николя223 Posted April 14, 2013 Report Share Posted April 14, 2013 max2012) да ты рекордсмен Link to comment Share on other sites More sharing options...
0 sitemaker999 Posted April 14, 2013 Author Report Share Posted April 14, 2013 (edited) max2012) да ты рекордсмен Не понял? Edited April 14, 2013 by sitemaker999 Link to comment Share on other sites More sharing options...
0 deadrash Posted April 14, 2013 Report Share Posted April 14, 2013 max2012) да ты рекордсмен Не понял?Очень быстро репутацию наберает Link to comment Share on other sites More sharing options...
0 sitemaker999 Posted April 14, 2013 Author Report Share Posted April 14, 2013 (edited) ХВАТИТ ОФФТОПИТЬ!!! Edited April 14, 2013 by sitemaker999 Link to comment Share on other sites More sharing options...
0 deadrash Posted April 14, 2013 Report Share Posted April 14, 2013 ХВАТИТ ОФФТОПИТЬ!!!Да ладно тебе, проблему то уже решили (да, да, я знаю что ты её сам решил). Так что ничего страшного что от темы отошли. Link to comment Share on other sites More sharing options...
0 sitemaker999 Posted April 14, 2013 Author Report Share Posted April 14, 2013 вполне возможно что ТС необходимо что бы выполнялось оба условия Да, да так оно и есть. Link to comment Share on other sites More sharing options...
0 sitemaker999 Posted April 14, 2013 Author Report Share Posted April 14, 2013 wwt, вообще-то я уже решил это Link to comment Share on other sites More sharing options...
0 max2012 Posted April 14, 2013 Report Share Posted April 14, 2013 Зачем же белый цвет? Link to comment Share on other sites More sharing options...
Question
sitemaker999
РЕШЕНО
Здравствуйте! У меня не работает if в php. В любом случае выполняется else. Вот мой код:
Пожайлуста, не оставьте мой вопрос без ответа.
Edited by sitemaker999Link to comment
Share on other sites
20 answers to this question
Recommended Posts