Страница пользователя php, mysql

Суть в том, чтобы только что зарегистрированный пользователь попал на чистую, незаполненную страницу, адрес которой www.example.ru/00*, а вместо звездочки его id, который в базу попадает одновременно с введенными при регистрации данными. Как мне осуществить это направление через header? Тут работают сессии, т.е нужно их учитывать. Заранее спасибо


Ответы (3 шт):

Автор решения: KernelSource

Не совсем понял, в чем сложность. Просто данные в функцию header('Location: http://www.example.ru/00{$id}');. ID пользователя у тебя есть. Скорее всего в сессии уже хранится. Если трудность в том, что бы получить ID только что зарегистрированного пользователя, то через MySQL получаешь последний Insert ID через mysqli_insert_id(), если не ошибаюсь (расширение mysqli)

→ Ссылка
Автор решения: Ипатьев

Никаких ноликов в адресе страницы быть не должно.
адрес должен быть www.example.com/profile.php у всех пользователей.

После регистрации получить айди, записать в сессию и перенаправить на страницу профиля.
На ней - сюрприз! - достать из сессии ид, и по нему отобразить ту инфу, которую пользователь ввел при регистрации

→ Ссылка
Автор решения: cy4oHok

Не слушайте г-на @Ипатьев несмотря на большое кол-во репутации на данном сайте он пишет о том в чем явно не разбирается. Вы вольны делать такие линки какие пожелаете. Желаете сделать

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.

Удачи!

→ Ссылка