PHP регистрация. Правильный ли ход мыслей?
в поля вводятся пара логин/пароль, проверяется наличие данной пары в бд, если нету то записывается
Так себе подход. Нет, где-то он работает, но его надо очень с умом применять. А так у вас пользователи понарегают учёток и будут удивляться, почему настройки пропадают.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 (там есть перевод, если надо).
2 - ую строку в users.php исправил на$SelectFromDb = "SELECT * FROM people WHERE name = '". $login . "'";
session_start(); //добавил в index.htm