Есть проверка соответствия имени и пароля на php.Принцип такой: если имя есть в файле(хранение имён и паролей в json файле) то проверить соответствует ли введенный пароль тому, что записан.
$file = "../data/users.json";
$json_array = json_decode(file_get_contents($file), true);
$users = array();
if(is_array($json_array)) {
$users = $json_array;
}
if(isset($users[$name])) {
if($users[$name]["pass"] !== $password ){
http_response_code(400);
}
}
else {
$users[] = array("name" => $name, "pass" => $password, "id" => $i);
$i = 0;
foreach ($users as $key => $value) {
$users[$key]["id"] = $i;
$i++;
}
file_put_contents($file, json_encode($users, JSON_PRETTY_PRINT));
}
А вот так записано в файле
[
{
"name": "qwe",
"pass": "qwe",
"id": 0
}
]
В любом случае, когда я ввожу имя которое уже есть и пароль который ему не соответствует скрипт записывает это как новую пару.
[
{
"name": "qwe",
"pass": "qwe",
"id": 0
},
{
"name": "qwe",
"pass": "qweqwe",
"id": 1
}
]
У вас после того, как вы выполняете json_decode() и записи его в переменную $users типа массив, создается ключ типа инт и его значение - это объект!
Когда вы делаете проверку:
$users[$name]
Вы ничего не можете проверить, т.к. нужно обращаться так:
$users[0]->name
Где [0] - это номер элемента массива $users
Посмотрите как нужно обращаться к вашему массиву:
$json_array = json_decode(file_get_contents('test.json'));
$password = 'qwe';
$users = array();
if(is_array($json_array)) {
$users = $json_array;
}
if(isset($users[0]->name)) {
if($users[0]->pass !== $password ){
http_response_code(400);
}
}
Ну а вообще, это нужно будет делать в цикле, перебирать массив в поиске конкретного значения, например, имени. И вообще, дело конечно ваше, но нужно рационально использовать то, что было придуманно для тех или иных целей, например в json файле не хранят пароли, по крайней мере, в моем мире!)
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости