我已经编写了一个登录和注册脚本。用户可以登录他们的帐户编辑他们的详细信息等。详细信息存储在用户表中,该用户表具有与用户相关的许多不同数据属性。
我想知道,我如何制作它以便他们可以查看他们的个人资料并显示他们输入的所有数据。例如,如果某人使用用户名“bob”注册并更改了他的数据,他可以点击链接“查看个人资料”,他可以看到他的公共用户个人资料。我知道如何获取条目并显示数据但我的问题是我不明白如何为我的用户创建一个可供他人和/或他们自己看到的配置文件。我希望为每个用户动态创建这些页面。
此外,如果我有一个页面检索了所有最近注册的成员,它可以链接到他们的个人资料页面。
这是跨网站的一个非常常见的事情,我知道CMS已经像drupal那样做了,但我想自己编写一个小的受控解决方案。谢谢!
答案 0 :(得分:1)
将您的网页设为'profile.php'
1)使用Get String将id传递给该页面。链接将是:...... / profile.php?id = 3 要了解有关表单提交的获取和发布方法的更多信息。以及PHP如何处理它($ _POST& $ _GET)google it。
2)在该页面'profile.php'
$id=isset($_GET['id'])?$_GET['id']:-1;
settype($id , "int");
if($id<1)
{
//wrong id, may be redirect
header('Location : another-page.php');
die();
}
// use this $id to get information from db and display the information
3)如果你想动态地告诉那个人他的个人资料链接是什么: 假设您拥有该人的$ id: $ link ='..... / profile.php?id ='。 $ ID;
请先考虑学习基本的php。像cookie,get,post,functions,db handling,sessions,string handling,array handling,global variables。
答案 1 :(得分:0)
好吧,只需创建一个名为userprofile.php的页面,该页面会获取一个名为id的参数(我假设您的用户拥有id ...否则拥有用户名)。如果在没有参数的情况下调用页面,页面将使用当前会话用户作为配置文件ID,并使所有字段都可编辑,否则,如果通过说“userprofile.php?id = 123”传递,则会显示其他成员的不可编辑版本。您还可以检查会话用户是否与请求其配置文件的用户相同,在这种情况下,您还希望使页面可编辑。
答案 2 :(得分:0)
您是否在寻找类似的内容(已发布内容和其他内容的合并):
$SQL = "SELECT ID, First_Name, Last_Name, User_Name FROM Users" .
"WHERE ID = " . $_GET['id'];
$con = mysql_connect('server', 'user', 'password');
$db = mysql_select_db('database_name', $con);
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
print "User ID: " . $db_field['ID'] . "<BR>";
print "User Name: " . $db_field['User_Name'] . "<BR>";
print "First Name: " . $db_field['First_Name'] . "<BR>";
print "Last Name: " . $db_field['Last_Name'] . "<BR>";
}
如果要创建指向其用户页面的链接,请执行以下操作:
print "<a href=user_profile.php?ID=" . $db_field['ID'] . ">" . $db_field['User_name'] . "</a>";
这会从页面上的链接(例如http://servername/page/list.php?ID=123)获取您传递的ID,然后上面的代码会在数据库中搜索您想要的任何信息(通过SELECT语句)。然后你就可以随心所欲地提供信息了。