0

登录后我在检索个人资料页面时遇到问题 我不知道如何开始 我有所有登录代码 我不知道如何在登录后使用会话显示个人资料信息 请帮助我 我不知道还有什么去做

登录.php

<?php
include('com.php');

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form 
$email = $_POST['email'];
$password = $_POST['password'];

// To protect MySQL injection (more detail about MySQL injection)
$email = stripslashes($email);
$password = stripslashes($password);
$email = mysql_real_escape_string($email);
$password = mysql_real_escape_string($password);

$sql = "SELECT * FROM $tbl_name WHERE email='$email' AND password='$password'";

$result = mysql_query($sql);

// Mysql_num_row is counting table row
$count = mysql_num_rows($result);

// If result matched $email and $password, table row must be 1 row
if ($count == 1) {

    // Register $email, $password and redirect to file "report.php"
    session_register("email");
    session_register("password");
    header("location:profile.php");
} else {
    echo "Wrong Username or Password";
}
?>
4

2 回答 2

2

1.在标题中使用get方法发送用户电子邮件ID

登录.php

header("Location: profile.php?email=$email");
                 ^ must be a space here

然后在个人资料页面中获取

配置文件.php

$email= $_GET["email"];

在此处显示与 $email 匹配的数据库中的数据

2.另一种使用会话的方式

登录.php

session_start();
$_SESSION["email"] = $email;
$_SESSION["password"] = $password; 
header("Location: profile.php");

从个人资料页面获取此值

配置文件.php

session_start();
$email = $_SESSION["email"];

在此处显示与 $email 匹配的数据库中的数据

于 2013-09-08T04:22:34.180 回答
1

session_register自 php 5.3 起已被弃用,并从 php 5.4 起删除。不要使用它。

要回答您的问题,您需要首先将用户分配给会话变量...

$_SESSION['user_id'] = $user_id;

然后在随后的页面请求中......

$q = "SELECT * FROM users WHERE id = " . (int) $_SESSION['user_id'];

有很多更好的方法来写这个。这只是一个让您走上正轨的简单示例。

于 2013-09-08T04:20:41.907 回答