我正在尝试将表单中的变量传递给php中的多个页面
表格“rentcheck.php”
<?php require ("Connections/Project.php") ;?>
<?php session_start();?>
<title>Rent Check</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="rent.php">
<table width="385" height="70" border="1">
<tr>
<td><label for="select3">Select Customer</label>
<select name="Customer_ID" id="Customer_ID">
<?php
//Select from SQL Database Table (t_customer)
$sql=mysql_query("SELECT * from t_customer");
while ($Customer = mysql_fetch_array($sql)){
echo "<option value='".$Customer['Customer_ID']."'>".$Customer['Customer_Name']."</option>";
}
?>
</select></td>
</tr>
</table>
<p>
<input type="submit" name="button" id="button" value="Submit" />
</p>
</form>
</body>
</html>
输入后将其传递给“rent.php”页面
<?php
require("Connections/Project.php");
//$_SESSION['yourvariable'] = 'foo';
//$newDate = date("d-m-Y", strtotime($row_Recordset1['Customer_CC_Exp_Date']));
session_start();
$datetoday=date("Y-m-d H:i:s");
$endOfCycle=date('Y-m-d', strtotime("+30 days"));
if(isset($_GET['page'])){
$pages=array("products","cart");
if(in_array($_GET['page'], $pages)){
$_page=$_GET['page'];
}else{
$_page="products";
}
}else{
$_page="products";
}
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Rent</title>
</head>
<body>
<p> <?php require($_page. ".php");?>
<?php echo $_POST['Customer_ID'];?></p>
</body>
</html>
此页面(rent.php)显示表单中的值。
第三页“products.php”
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<?php
if(isset($_GET['action']) && $_GET['action']=="add"){
$custget=$_SESSION['Customer_ID'];
$id=intval($_GET['id']);
if(isset($_SESSION['cart'][$id][$custget])){
$_SESSION['cart'][$id]['quantity']++;
$getcust=$_SESSION['Customer_ID'];
}else{
$sql_s="SELECT * FROM t_dvd_copy
WHERE dvd_copy_id={$id}";
$query_s=mysql_query($sql_s);
if(mysql_num_rows($query_s)!=0){
$row_s=mysql_fetch_array($query_s);
$_SESSION['cart'][$row_s['dvd_copy_id']]=array(
"quantity" =>1,
"price" => $row_s['price']
);
}else{
$message="NO";
}
}
}
?>
<?php if(isset($message)) {
echo"$message"; }
//echo print_r($_SESSION['cart']); ?>
<table width="489" height="52" border="1">
<tr>
<td width="123">DVD Copy ID</td>
<td width="120">Name</td>
<td width="91">Price</td>
<td width="127">Action</td>
</tr>
<?php
$sql="SELECT *, dvd_title FROM t_dvd_copy INNER JOIN t_dvd ORDER BY dvd_title ASC";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)) {
?>
<tr>
<td><?php echo $row['dvd_copy_id']?></td>
<td><?php echo $row['dvd_title']?></td>
<td><?php echo $row['price']?></td>
<td><a href="rent.php?page=products&action=add&id=<?php echo $row['dvd_copy_id']?>">Add To Cart</a></td>
<?php
}
?>
</table>
<body>
</body>
</html>
此页面(products.php)显示:
注意:未定义的索引:第39行的C:\ xampp \ htdocs \ project3 \ rent.php中的Customer_ID“每当我点击”添加到购物车“或手动输入”rent.php?= cart“。
我要做的是在多个页面上显示(Customer_ID)/传递变量(“products.php”,“cart.php”)。
有任何建议或想法吗?
答案 0 :(得分:0)
我认为您的问题是您尚未在其他网页上启动会话。
在每个要进行会话的php页面上,您需要将session_start();
置于顶部。
如果您没有结束会话并清空其中的所有数据。
如果您想确定会话中的内容,可以将其打印出来:
echo "<pre>";
echo print_r($_SESSION);
echo "</pre>";
答案 1 :(得分:0)
一些事情:
Customer_ID
数组中查找$_POST
键时手动导航到rent.php?= cart时会出现错误,但此时您没有发布到服务器,您正在执行$_GET
请求。$_SESSION['Customer_ID']
,但我在您的代码中看不到您设置此内容(products.php第7行代码)。我建议您考虑用户如何浏览您的网站:
$_SESSION
)?从那开始,看看它引导你的位置。
答案 2 :(得分:0)
查看代码,我可以看到您在products.php
rent.php
这里有几点想法:
<head>
,因为它会被渲染
在<body>
所以,如果你有rent.php
:
$customer_id = $_POST['Customer_ID'];
require('products.php');
在products.php
中,您可以直接使用$customer_id
。