[英]PHP how to display user data
我试图显示已登录的唯一用户,然后将其存储到数据库中的表中,例如,如果我以James身份登录,则想显示数据库中James的数据并将其ID存储到另一个表中。我的理解$ _SESSION ['login_user']; 应该返回唯一的用户名。
每当我运行时,我都会收到此错误,这是输出:
注意:未定义的索引:第3行的C:\\ xampp \\ htdocs \\ bid.php中的login_user
注意:未定义的变量:第8行的C:\\ xampp \\ htdocs \\ bid.php中的SESSION感谢您与我们联系
login.php
<?php
include("config.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password sent from form
$myusername = mysqli_real_escape_string($conn,$_POST['username']);
$mypassword = mysqli_real_escape_string($conn,$_POST['password']);
$sql = "SELECT customer_id FROM customer WHERE email_adress = '$myusername' and password = '$mypassword'";
$_SESSION['username'] = $myusername
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['customer_id'];
$count = mysqli_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count >= 1) {
$_SESSION['login_user'] = $myusername;
header("location: index2.php");
}else {
$error = "Your Login Name or Password is invalid";
}
}
?>
bid.php:
<?php
session_start();
echo $_SESSION['username'];
require 'config.php';
//include "job.php"
$jobid = $_POST['job_id'];
$bid = $_POST['bid'];
bidderid = $SESSION['username']
echo "$jobid";
$query = "INSERT into bid (bid_amount,job_id) VALUES('" . $bid . "','" . $jobid . "')";
$success = $conn->query($query);
if (!$success) {
die("Couldn't enter data: ".$conn->error);
}
echo "Thank You For Contacting Us <br>";
$conn->close();
?>
session.php
<?php
include('config.php');
session_start();
$user_check = $_SESSION['login_user'];
$ses_sql = mysqli_query($conn,"select email_adress from customer where email_adress = '$user_check' ");
$row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);
$login_session = $row['email_adress'];
if(!isset($_SESSION['login_user'])){
header("location:login.php");
}
?>
login.php
<?php
session_start();
// session should start here
include("config.php");
if($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password sent from form
$myusername = mysqli_real_escape_string($conn,$_POST['username']);
$mypassword = mysqli_real_escape_string($conn,$_POST['password']);
$sql = "SELECT customer_id FROM customer WHERE email_adress = '$myusername' and password = '$mypassword'";
$_SESSION['username'] = $myusername; // you missed a semi colon
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['customer_id'];
$count = mysqli_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count >= 1) {
$_SESSION['login_user'] = $myusername; // $myusername contains username of this user
$_SESSION['login_data'] = $row; // $row contains user record from the db. including customer_id etc..
header("location: index2.php");
}else {
$error = "Your Login Name or Password is invalid";
}
}
?>
现在,如果成功,在bid.php和其他所有页面中都可以使用$ _SESSION ['login_user']。
在session.php中,请还原为这些。
<?php session_start(); // this should be called first before including external files include('config.php'); $user_check = $_SESSION['login_user']; $ses_sql = mysqli_query($conn,"select email_adress from customer where email_adress = '$user_check' "); $row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC); $login_session = $row['email_adress']; if(!isset($_SESSION['login_user'])){ header("location:login.php"); } ?>
在bid.php中,请参考此内容。
$bidderid = $_SESSION['login_user']->username or $_SESSION['login_user']['username']
希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.