в поля вводятся пара логин/пароль, проверяется наличие данной пары в бд, если нету то записывается
Так себе подход. Нет, где-то он работает, но его надо очень с умом применять. А так у вас пользователи понарегают учёток и будут удивляться, почему настройки пропадают.
foreach($whitelist as $key){
$_SESSION[$key] = $_POST[$key];
}
Посмотрите в сторону
filter_input с фильтром по нужному типу данных, если хотите пока без фреймворков поковыряться.
И почему весь PHP в HTML-файлах?
header('Location: show.htm');
Учитывая, что вы ничего не выводили здесь, то можно, например, без редиректа просто выполнить нужную логику и показать другую страницу. Впрочем, разница между вариантами будет невелика, так что можете и так оставить.
$SelectFromDb = "SELECT * FROM people WHERE name = '$login'";
Привет,
SQL-инъекции! Фильтруйте, как я выше говорил, ввод. Лучше пользуйтесь
подготавливаемыми запросами и биндингом параметров - там данные буду обезопашены. А вообще лучше используйте
PDO (не забывая о подготовленных запросах и биндинге параметров).
Это по поводу первых трёх блоков кода.
В целом, настоятельно рекомендую ознакомиться со стандартами PSR, и прочитать (осознав)
PHP The Right Way (там есть перевод, если надо).