Суть в том, чтобы только что зарегистрированный пользователь попал на чистую, незаполненную страницу, адрес которой www.example.ru/00*, а вместо звездочки его id, который в базу попадает одновременно с введенными при регистрации данными. Как мне осуществить это направление через header? Тут работают сессии, т.е нужно их учитывать. Заранее спасибо
Не слушайте г-на @Ипатьев несмотря на большое кол-во репутации на данном сайте он пишет о том в чем явно не разбирается. Вы вольны делать такие линки какие пожелаете. Желаете сделать
site.com/user/<id> или site.com/<id>
Нет проблем! Вам нужно, чтобы описанный Вами URL обрабатывал какой-то конкретный Ваш php-файл. Это называется routing (роутинг). Во всех популярных PHP-фреймворках он есть. Если же Вам нужно это сделать на pure (чистом) или как говорят native-php - все что нужно описать это роутинг в правилах Вашего веб-сервера. Если у Вас apache то это .htacces. Для начала подключите в конфиге Apache модуль mod_rewrite инструкцией
LoadModule rewrite_module modules/mod_rewrite.so
после чего в .htaccess пропишите следущие правила
RewriteEngine on
# не позволять httpd отдавать файлы, начинающиеся с точки (.htaccess, .svn, .git и прочие)
RedirectMatch 403 /..*$
# если директория или файл существуют использовать их напрямую
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# иначе все запросы вида site.com/00<число> отправлять
на файл user.php с параметром id равным указанному числу
RewriteRule ^00(\d+)$ /user.php/?id=$1 [L]
Например при обращении пользователя к URL Вашего сайта site.com/00354, Вы в файле user.php в глобальном массиве $_GET получите переменную id со значением 354.
Удачи!
Не совсем понял, в чем сложность. Просто данные в функцию header('Location: http://www.example.ru/00{$id}');. ID пользователя у тебя есть. Скорее всего в сессии уже хранится. Если трудность в том, что бы получить ID только что зарегистрированного пользователя, то через MySQL получаешь последний Insert ID через mysqli_insert_id(), если не ошибаюсь (расширение mysqli)