我希望我能正确描述我的问题。我为自助餐厅创建了一个数据库。这有以下表:订单,成员ISA经理和服务器,产品和类别。在表格命令中,我应该插入相应服务器的标题,数量,日期时间,总和和用户名等功能。我已经设法通过我在此论坛之前发布的文件中的php(请点击链接:Insert data from textbox and checkbox into database)。
到目前为止,网络环境包括: a)index.php,members.php(这些文件负责任何类型用户的登录和认证,管理员或服务。 b)addorder_form.php和addorder.php以及订单表格和数据库中订单详细信息的插入。 我不能让我的系统为每个订单打印每个服务器的用户名。 我试过这样的东西,但我得到了未定义索引用户名的错误:
<?php
session_start();
include_once("buzzcafe_fns.php");
include_once("members.php");
do_html_header("");
$conn = mysql_connect("localhost", "root", "");
$db=mysql_select_db("buzzcafe" ,$conn);
db_connect();
if (isset($_SESSION['username']){
if (isset($_POST['products'])) {
if (isset($_POST['quantity'])) {
foreach($_POST['products'] as $key => $products){
$quantity = isset($_POST['quantity'][$key])? $_POST['quantity'][$key]:'Not selected';
date_default_timezone_set('Europe/Athens');
$date = date('Y-m-d H:i:s');
$message[] = $products.' - x'.$quantity;
$insertOrder = mysql_query("INSERT INTO orders (datetime,title,quantity,username) VALUES('".$date."','".$products."','".$quantity."', '".$_SESSION['username']."')")or die(mysql_error());
echo $_SESSION['username'];
}
}
echo implode(',', $message);
echo "<br/>";
echo "<br />Record inserted";
echo "<br/>";
echo $date;
}
else { echo "You did not choose a quantity."; }
}else { echo "You did not choose any product."; }
}
?>
为什么用户名未定义?
members.php的一部分:
<?php
if (isset($_POST['username']) && isset($_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];
if ((!$username) || (!$password)) {
do_html_header('');
echo '<h3 style="color:#800000;">Please fill in both fields</h3><br><br></br></br>';
display_login_form();
}
else {
$sql = mysql_query('SELECT * FROM members WHERE username="'.$_POST['username'].'" AND password=sha1("'.$_POST['password'].'")') or die(mysql_error());
$login_check_member = mysql_num_rows($sql);
if($login_check_member > 0) {
while($row = mysql_fetch_array($sql)) {
$role = $row["role"];
$_SESSION['role'] = $role;
$us = $row["username"];
$_SESSION['username'] = $us;
$username = $_SESSION['username'];
}
}
我将此文件包含在addorder.php文件中。
答案 0 :(得分:0)
可能是因为它没有定义?
似乎人们比你更关心你的SQL - 但这可能会帮助你解决实际问题。
在它们嵌套条件之前将其丢弃:
if (defined($_SESSION['username'])) {
echo 'Username is defined!';
}
else {
die('Username is undefined!');
}