api — Профили PHP, использующие шаблон / profile / name

Я делаю сайт, который должен иметь систему профилей.

В настоящее время у меня есть настройки, поэтому вы идете /profile/namehere и профиль будет отображаться с информацией динамически, НО конечно вы должны вручную скопировать, вставить эти профили и изменить имя, чтобы они работали.

Я хочу, чтобы при отправке формы в этом случае вы вводили имя и нажимали кнопку отправки, они добавлялись в базу данных, которую я сам сделал, и автоматически создавался профиль.

Я немного исследовал это и придумал тот факт, что мне нужно сделать контроллер или шаблон профиля, который будет вызывать информацию, но я уже вроде как сделал это, просто я не уверен и не могу найти какую-либо документацию онлайн о том, как сделать это конкретно с /profile/namehere/

Любая помощь будет чрезвычайно признательна или примеры кода, большое спасибо!

База данных, которую я использую, — MYSQL, хотя я буду мигрировать в PDO, когда доберусь до нее, но профили на данный момент могут быть в MYSQL. мой текущий код страницы выглядит примерно так:

Заголовок и метатеги отображаются через конфигурационный файл / api.
Содержание страницы отражается для вещей, выбранных из базы данных, которую я использую $row['var']; с select заявление для доступа к базе данных.

В этом текущем состоянии профиль копируется и вставляется с именем, измененным на имя пользователя, и этот профиль готов. Я хочу, чтобы при отправке формы для создания имени пользователя автоматически создавался профиль, к которому можно получить доступ по адресу /profile/namehere/ а не ручное создание.

По существу,
— Форма отправлена
— посещения пользователя / профиль / имя
— Шаблон извлекается и информация вызывается из базы данных динамически.
*

0

Решение

Ваш вопрос немного широк. Поэтому я отвечу настолько, насколько смогу.

  1. Чтобы получить доступ к /profile/user, вы должны использовать переписывание URL. Вы должны включить mod_rewrite Apache (если это ваш веб-сервер). Затем вы должны определить правила в .htaccess файл.

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^profile/(\w+)$ profile.php?user=$1
    </IfModule>
    

    Итак, просматривая http://host/profile/namehere буду использовать profile.php а также $_GET['user'] будет определяться с "namehere",

  2. Отображать информацию в profile/namehere страница (profile.php непроверенные):

    <?php
    if (!isset($_GET['user']))
    {
    // Error: Fall in error 404, or display error, or ...
    header("HTTP/1.1 404 Not Found");
    exit(0);
    }
    
    $username = $_GET['user'];
    
    // connect database using PDO
    $pdo = new PDO('mysql:dbname=DBNAME;host=localhost' , 'DBUSER', 'DBPASS') ;
    
    $sth = $pdo->prepare("select * from profile_table where username=:username") ;
    if (!$sth) { /* Error */ die ; }
    $sth->execute([':username' => $username]) ;
    $result = $sth->fetch(PDO::FETCH_OBJ) ;
    if (!$result) { /* Error */ die ; }
    
    // display informations using template
    header("Content-Type: text/html; charset=utf-8") ;
    include("template.php") ;
    exit();
    
  3. Пример шаблона:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title><?php echo $result->name ?></title>
    </head>
    <body>
    <p><?php echo $result->info1 ?></p>
    <p><?php echo $result->info2 ?></p>
    <p><?php echo $result->info3 ?></p>
    </body>
    </html>
    
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]