PHP - 用户链接
Posted
技术标签:
【中文标题】PHP - 用户链接【英文标题】:PHP - Users links 【发布时间】:2017-12-11 04:20:03 【问题描述】:我已经创建了一个注册和登录系统,它工作正常。 但是,我只知道如何制作注册和登录系统,我不知道如何为每个注册用户制作链接
喜欢: example.com/marwan example.com/user/marwan
这是我的注册 php 代码:
<?php
error_reporting(0);
session_start();
if( isset($_SESSION['user_id']) )
header("Location: /");
require 'includes/database.php';
$message = '';
if(!empty($_POST['email']) && !empty($_POST['password'])):
// Enter the new user in the database
$sql = "INSERT INTO users (full_name, email, password, phone, country) VALUES (:full_name, :email, :password, :phone, :country)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':full_name', $_POST['full_name']);
$stmt->bindParam(':email', $_POST['email']);
$stmt->bindParam(':password', password_hash($_POST['password'], PASSWORD_BCRYPT));
$stmt->bindParam(':phone', $_POST['phone']);
$stmt->bindParam(':country', $_POST['country']);
if( $stmt->execute() ):
header("Location: account-created.php");
else:
header("Location: failed.php");
endif;
endif;
?>
我的登录代码是:
<?php
session_start();
if( isset($_SESSION['user_id']) )
header("Location: /tregolapp/home");
require 'includes/database.php';
if(!empty($_POST['email']) && !empty($_POST['password'])):
$records = $conn->prepare('SELECT id,email,password FROM users WHERE email = :email');
$records->bindParam(':email', $_POST['email']);
$records->execute();
$results = $records->fetch(PDO::FETCH_ASSOC);
$message = '';
if(count($results) > 0 && password_verify($_POST['password'], $results['password']) )
$_SESSION['user_id'] = $results['id'];
header("Location: /tregolapp/index.php");
else
header("Location: /tregolapp/failed");
endif;
?>
有人可以帮帮我吗?
【问题讨论】:
有了类似的东西,你可能最好拥有example.com/user/marwan
,这样你就可以使用.htaccess
来读取/marwan
并使用路径/?user=marwan
允许为该用户运行动态页面.许多不同的方法可以做到这一点,所以它更取决于你想要什么。
您好 NewToJS,您能否给我一个代码或要添加的东西,这样它才能构成我要求的系统,或者通过提供指南来帮助我 to do 以便它帮助我这样做。
好吧,如果你想使用你的.htaccess
,那么你可以看看这篇文章***.com/questions/16388959/url-rewriting-with-php,但正如我所说,这只是众多方法之一......如果你认为一种特定的方式并自己尝试但有问题我相信有人可以帮助你,但此时你的问题并没有真正表明特定的方式/尝试。这就像你是为了一个教程而不是一个解决方案。
【参考方案1】:
您为每个用户提供“自己的 URL”的目的是什么?
如果您希望每个用户在登录时看到他们的“自己的信息”,那么在登录后转到一个通用的“主页”,同时持有一个会话 ID。使用该 id 从数据库中提取“用户特定”数据并将其显示在“主页”上。
【讨论】:
您好,我已经完成了“我的个人资料页面”,但是,我想制作一个用户可以查看其他用户帐户的系统,因为我将它用于社交网络,我需要人们能够查看其他帐户。 所以,使用 session 来保存用户的 id(即他们已登录的事实),然后从数据库中提取您想要的任何信息。为什么要让他们导航到静态页面?您的所有页面(登录后)都可以是动态的,数据来自数据库。为简单起见,在 php 中,您可以将特定的 php“页面”作为(例如)“view_others_data.php”页面。该页面将允许登录用户查看其他人的帐户,您可以使用“权限”类型的表格来确定允许“登录用户”在该页面上查看哪些信息。以上是关于PHP - 用户链接的主要内容,如果未能解决你的问题,请参考以下文章
DataTables PHP动态编辑/删除基于用户权限的链接