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

89
20 апреля 2022, 18:50

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

Answer 1

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

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.

Удачи!

Answer 2

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

READ ALSO
Как сделать обычную страницу архивной

Как сделать обычную страницу архивной

У меня есть кастомный тип записи stories, и страница gallery на которой выводятся превью этих записейПри переходе к записям адрес выходит таким...

74
Ошибка Undefined index: page

Ошибка Undefined index: page

В файле шаблона имеется код

118
Uncaught Error: Call to a member function fetch() on boolean in

Uncaught Error: Call to a member function fetch() on boolean in

помогите, пожалуйста, разобраться с ошибкой кодаЯ повторяла пример из книги PHP7 в подлиннике

233
Как поддерживать постоянную работу скрипта в фоновом режиме?

Как поддерживать постоянную работу скрипта в фоновом режиме?

На сервере поднимаю websocket сервер WorkermanДанный сервер запускается через командную строку (php cli) командой php start

214