Я делаю так:
При нажатии /start создаем чистый файл с именем (chat_id) или если такой уже есть, очищаем его!
Пользователю задают вопрос: Ваше имя?
Пишем имя пользователя в файл.
Затем Ваш город? - ДОписываем город в файл через знак ^ например!
и так по порядку. А чтобы узнать где находится пользователь, используем простейшую конструкцию:
$data = explode("^", file_get_cintents($chat_id) );
if($data[0]){
if($data[1]){
if($data[2]){
// исполняем код, если 3 значение есть
}else{
// исполняем код, если 2 значение есть
}
}else{
// исполняем код, если 1 значение есть
}
}else{
// Файл пустой, начит пишем в него имя!
}
Все на самом деле очень просто!