Top-tompak, потому что $user['name'] и $user['password'] глобальные переменные, а внутри функции локальные переменные с теми же именами и их не существует. Прям безысходность XD
Top-tompak, не знал что global $user; передает в функцию переменную извне, пардонте. Если print_r внутри функции выводит $user, то с этой темой все норм. А чтобы понять почему print_r: $_POST['name'] показывает пустое поле, нужен код html в котором висит эта форма. Начиная с тега <form>.
Если массив содержит переменные, то... ошиблись в самих переменных массива... Может быть у вас какой-нибудь $_POST['form_name'] или чет в этом духе. Если массив пустой, это значит что никакого POST вы не передаете, может быть GET? А может быть не там вызываете функцию, потеряли post из-за какой-нибудь переадресации...
Вы через ajax, или на прямую передаете POST?
Сообщение от kik11
Top-tompak, а $name и $password - это строки? Если да, попробуйте через strcmp.
Всё-таки, строки нужно сравнивать через операции, которые для этого созданы. А результат простого == непредсказуем. У меня с ним проблемы были. Поэтому пользуюсь strcmp
Всё-таки, строки нужно сравнивать через операции, которые для этого созданы. А результат простого == непредсказуем. У меня с ним проблемы были. Поэтому пользуюсь strcmp
Если строки полностью идентичны, то == даст true, если нет, то false. Очень даже предсказуемо. Не знаю где там могут быть проблемы. Когда спросил я, зачем это, то имел в виду: если POST отдает пустое значение, зачем сравнивать другим способом? Хотя сути не меняет. Strcmp использовать для идентичности имхо глупо. Т.к. == нам даст boolean значение, нынче strcmp() отдает integer.
Сообщение от Top-tompak
И еще вопрос. Хэш куда хранить? В базе или в файле?
А вы с базой работаете? Логин то где храните? :) Я вот все в базе храню, зачем лишний геморрой) Для чего еще же базу придумали?