2016-01-12 2 views
0

Как я могу это сделать?Динамически загружать страницу с уникального идентификатора

Я разрешаю пользователям регистрироваться через различные социальные сайты. Я получаю свои уникальные идентификаторы и чем перенаправить их на другую страницу

$id = ($profile->identifier); 
$newURL = "/your-data/$id"; 
header('Location: '.$newURL); 

, где они будут иметь возможность хранить некоторые данные о себе.

Я знаю, и я получу здесь все данные и сохраню их в базе данных.

Я хотел бы, на/ваш-данных/98432048320

показать им сайт создан с /template/header,index,footer.php

Вот что я сделал до сих пор, чтобы получить эту работу :

на вашем данных/index.php

<?php 
include("templates/header.htm"); 

// Set the default name 
$action = 'index'; 
// Specify some disallowed paths 
$disallowed_paths = array('header', 'footer'); 
if (!empty($_GET['action'])) { 
    $tmp_action = basename($_GET['action']); 
    // If it's not a disallowed path, and if the file exists, update $action 
    if (!in_array($tmp_action, $disallowed_paths) && file_exists("templates/{$tmp_action}.htm")) 
     $action = $tmp_action; 
} 
// Include $action 
include("templates/$action.htm"); 

include("templates/footer.htm"); 
?> 

Я не могу заставить его работать. Это просто простой PHP, без фреймворков ...

+0

его не хватает информации. Как вы передали 'get' param' action'? Каким будет путь 'action' для'/your-data/98432048320' в вашем случае? – RomanPerekhrest

+0

Хорошо, я не пошел по правильному пути. Как я могу это сделать: - по вашим данным/получить все соответствующие данные (сделать) и сохранить эти данные в DB (сделано) - получить уникальный идентификатор пользователя и перенаправить его на эту страницу - on на этой странице, покажите данные из БД для этого пользователя (я знаю, как это сделать) Проблема в том, что у пользователя всегда будет уникальный идентификатор, и я не знаю, как подготовить для него сайт. У меня есть готовые шаблоны (заголовок, тело, нижний колонтитул). Любая помощь будет оценена по достоинству. –

+0

Каковы решающие различия между этими шаблонами. Например, у вас есть шаблоны: '98432048320.htm' и' 98432048300.htm'. В каких условиях они будут различать их содержание? – RomanPerekhrest

ответ

0

Вы не должны генерировать десятки шаблонов для каждого уникального пользователя. Это было бы излишним.
Вместо этого сделайте один файл php, назовем его content.php (что угодно).
Такой файл может содержать динамически генерируемые данные для определенного пользователя.
Включить content.php в начало вашего основного index.php.
ваши-данные/index.php:

<?php 
include("templates/header.htm"); 

$action = 'index'; // Set the default name 

if (!empty($_GET['action'])) { 
    $tmp_action = basename($_GET['action']); 

    if (is_numeric($tmp_action)){ // check if user identifier was passed in 
     include("templates/content.php"); 
    } 
} 

include("templates/footer.htm"); 
?> 

Теперь $tmp_action переменное свободно доступны в content.php.
content.php:

<?php 

    $userId = (int) $tmp_action; 

    // possible case 
    $query = "SELECT name, age, activity FROM social_users WHERE id = ". $userId; 

    // here you can get all needed data for certain user 
    // which can be shown in #mainContainer div 

?> 
<div id="mainContainer"></div> 
+0

Спасибо @RomanPrekhrest за ваш ответ. Мне совершенно ясно, что есть лучший способ, чем создание страницы для каждого нового пользователя ... Спасибо за ваше решение - но URL-адрес все равно не укажет на/your-data/$ userId ... Я думаю, что мне пришлось бы делать это с помощью перезаписи URL-адресов? –

+0

, конечно, обычно приложение должно иметь одну точку входа - 'index.php'. Все дальнейшие запросы отправляются через него. – RomanPerekhrest

Смежные вопросы