...
Ну все написано же.
Вы открыли страницу.
Выполняется
$name = $_POST['name'];
Т.к нет никакого пост запроса, то
$_POST['name']
не существует, в переменную $name записывается null и об этом кидается нотис.
Нотис не останавливает скрипт и все выполняется дальше.
В базу входит вставка null что абсолютно валидно.
if (isset($_POST[]))
должно вообще вызывать ошибку синтаксиса, т.к это бесмысленная запись.
Если проверять - то проверять конкретные значения
if (isset($_POST['name']) && isset($_POST['lastname']) && ... и тд) {