【发布时间】:2018-04-17 14:00:48
【问题描述】:
我正在尝试显示登录的唯一用户,然后将其存储到我的数据库中的表中,例如,如果我以 James 身份登录,我想显示数据库中 James 的数据并将他的 id 存储到另一个table.据我了解 $_SESSION['login_user'];应该返回唯一的用户用户名。
当我运行时,我得到这个错误,这是输出:
注意:未定义索引:C:\xampp\htdocs\bid.php 第 3 行中的 login_user
注意:未定义变量:第 8 行 C:\xampp\htdocs\bid.php 中的 SESSION 感谢您联系我们
登录.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_user很可能在您的会话中还不存在。您有一个类型:bidderid = $SESSION['username']。 -
我是否需要在会话设置用户名中添加一些内容作为数据库中用户的 ID?