Как изменить содержимое страницы в соответствии с концом вставляется в ссылку (URL-адрес)?
у Меня есть система регистрации пользователей. Человек вставляет некоторую информацию, как пользователь, фото, название, презентация, принадлежности, телефон и e-mail. Автоматически сгенерированный идентификатор для каждой новой регистрации. Даже там уже работает правильно.
Точные, что можно было любого человека получить что-то вроде site.com/?p=joaozinho или site.com/?p=123, будучи 123-идентификатор в Сон, и тогда страница, которую открыть соединение с базой данных и показывать пользователей информации заявленным на странице, как на фото ниже:
это "код", который бы представлял страницы Вани.
<html>
<body>
<img src="img/joaozinho.jpg">
<h2>Joãozinho</h2>
<h3>Sou um cara legal!</h3>
<h3>9999-8888</h3>
<h3>[email protected]</h3>
</body>
</html>
3 answers
Jonas, вы должны получить параметр url-адрес доступ к переменной $_GET["p"]
и использовать значение в свой запрос select, который будет занимать строку с данными пользователя. А затем печатает эти значения извлекаются из базы на своей странице.
Следующий код. Вы должны изменить в некоторых местах соединение с базой данных и имя таблицы и поля в таблицу, чтобы посмотреть, работает. Кроме того, ваш сервер должен иметь расширение PDO включен.
<?php
//CONFIG CONEXÃO com o banco de dados
// Mudar os valores abaixo pelos valores que vc usa para conectar no seu banco
$db_name = 'testdb';
$db_host= '127.0.0.1';
$db_user = 'root';
$db_password = '';
$dsn = 'mysql:dbname='.$db_name.';host='.$db_host;
$pdo_connection = new PDO($dsn, $db_user, $db_password);
$pdo_connection->exec("SET CHARACTER SET utf8");
// Recupera o id do usuário pela variável passada na url
$user_id = $_GET["p"];
// Utiliza esse id como parâmetro na sua query
//Lembrar de mudar nomedasuatabela para o nome correto da sua tabela e id para nome do campo que é chave primária dessa tabela
$stmt = $pdo_connection->prepare("SELECT * FROM nomedasuatabela WHERE id=?");
$stmt->execute(array($user_id));
//Recupera a linha correspondente da tabela
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if($row==false)
{
die("Não existe usuário com o id informado.");
}
// lembrar de mudar nomedocampo em cada $row['nomedocampo'] pelos nomes dos campos correspondentes que existem na sua tabela
$nome = $row['nome'];
$descricao = $row['descricao'];
$telefone = $row['telefone'];
$email = $row['email'];
$urlimagem = $row['urlimagem'];
?>
<html>
<body>
<img src="<?php echo $urlimagem; ?>">
<h2><?php echo $nome; ?></h2>
<h3><?php echo $descricao; ?></h3>
<h3><?php echo $telefone; ?></h3>
<h3><?php echo $email; ?></h3>
</body>
</html>
, Если проблемы является размещение полей в url-адрес, тип:
Http://site/usuários.asp?id=123
Vc хотите что-то вроде:
Http://site/usuário/123
Самый простой способ решения-это включение ПЕРЕЗАПИСИ URL-адрес в свой веб-сервер и создать правило. От googleada q vc увидите.
СЕЙЧАС ... если вы хотите что-то вроде:
Http://site/usuário/123/foto/1/apagar
Отверстие глубже...
Посмотрите, может использовать следующим образом:
www.teste.com.br?pagina=user&id=123
Таким образом, вы ставите if
в индекс с $_GET
- страницы, которые вы хотите отобразить, если на странице пользователя, нажмите на него с include
, возьмите параметр id с помощью $_GET
снова и вытащить id пользователя.
Использование всегда так в моем приложений. Если вы не понимаете, как работает, для тебя шаг полный пример.