Аутентификация пользователей Php MYSQL
Я написал php-код для предоставления доступа вошедшим в систему пользователям с привилегией "1" к странице и для входа в систему, если вошедший в систему пользователь не имеет доступа "1". Но когда я тестирую, он выходит из системы всех пользователей вместо этого
Что я уже пробовал:
<?php session_start(); $conn = mysqli_connect("localhost","root", "","bosmak_properties"); echo $_SESSION['user_name']; $query=mysqli_query($conn,"SELECT * from users WHERE user_name =".$_SESSION['user_name']); while ($row=mysqli_fetch_array($query)){ $privileges=$row['privileges']; } if($privileges==1){ header ("Location: project_cost.php"); } else{ header ("Location: login/logout.php"); } ?>
Richard MacCutchan
Используйте отладчик, чтобы узнать, какие значения возвращаются из базы данных. Никто здесь не может догадаться о результатах.
akynyemi
Спасибо Ричарду за быстрый ответ. Как мне это сделать, пожалуйста?
Richard MacCutchan
Gerry Schmitz
Лучше перестраховаться, чем потом жалеть.
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
PHP: SQL-инъекция - руководство пользователя[^]
РНР: Подготовленные инструкции и хранимые процедуры - руководство пользователя[^]