再次登录后,我在显示用户注册时输入的信息时遇到问题。注册后,信息将正确显示在我的帐户页面上,但当我注销并重新登录时,信息就会消失。我如何访问用户登录时的信息?
这是我的用户注册。
<?php
include 'global_settings.php';
function NewUser() {
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];
$email = $_POST['email'];
$username = $_POST['username'];
$password = $_POST['password'];
$query = "INSERT INTO userlogin (firstName, lastName, email, username, password) VALUES ('$firstName', '$lastName', '$email', '$username', '$password')";
$data = mysql_query ($query)or die(mysql_error());
if($data) {
session_start();
$_SESSION["firstName"] = $firstName;
$_SESSION["lastName"] = $lastName;
$_SESSION["userName"] = $username;
$_SESSION["email"] = $email;
header("Location: ../chooseyoursport.php");
}
}
NewUser();
function SignUp() {
if(!empty($_POST['username'])){ //checking the 'user' name which is from Sign-Up.html, is it empty or have some text
$query = mysql_query("SELECT * FROM userlogin WHERE Username = $username AND Password = $password") or die(mysql_error());
if(!$row = mysql_fetch_array($query) or die(mysql_error())) {
newuser();
} else {
echo "SORRY...YOU ARE ALREADY REGISTERED USER...";
}
}
}
if(isset($_POST['submit'])) {
SignUp();
}
?>
这是我的用户登录信息。
<?php
error_reporting(0);
session_start();
include 'global_settings.php';
//Convert POST to normal variables
$password = $_POST['password'];
$username = $_POST['username'];
$sql = mysql_query("SELECT * FROM userlogin WHERE Username='$username' AND Password='$password'");
$login_check = mysql_num_rows($sql);
// if login_check is greater than 0 then it will register a session (meaning if the user exists username and password are both correct)
if($login_check > 0){
while($row = mysql_fetch_array($sql)){
foreach( $row AS $key => $val){
$$key = stripslashes($val);
}
session_start();
$_SESSION["firstName"] = $firstName;
$_SESSION["lastName"] = $lastName;
$_SESSION["userName"] = $username;
$_SESSION["email"] = $email;
header("Location: ../chooseyoursport.php");
//echo "It worked";
}
} else {
echo "You could not be logged in! Either your username or password is incorrect <br> Please try again!";
}
?>
最佳答案
1) $$key = stripslashes($val);
双倍$$
2) 您放入 $_SESSION 的数据为空;
3) session_start();
一个程序空间内 2 次p>
4)以及上面这些人所说的所有其他内容
foreach( $row AS $key => $val){
$$key = stripslashes($val);
}
session_start();
$_SESSION["firstName"] = $firstName;
$_SESSION["lastName"] = $lastName;
$_SESSION["userName"] = $username;
$_SESSION["email"] = $email;
header("Location: ../chooseyoursport.php");
关于php - 使用 MySQL 和 PHP 显示用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34229766/