我试图传递一个动态值,一个产品的ID。通过一个表单,我可以写入一个MySQL数据库。php表单将动态值,一个项目ID传递给mysql
我的问题是该值没有通过窗体传递。我怀疑这是由于我试图将一个表的值传递给另一个表。我应该为这个$ item_id设置一个临时变量吗?还是有可能通过?请帮助..
我的购物车,在这里我呼应了$ ITEM_ID,这显示最后$ ITEM_ID在浏览器中可见:
<div>
<?php
echo $item_id
?>
<form method="post" action="checkoutpage.php">
<input type="hidden" name="product_bought" value="<?php echo $item_id ?>">
<input type="submit" value="Submit">
</form>
checkoutpage.php:
<?php
session_start(); // Start session first thing in script
// Script Error Reporting
error_reporting(E_ALL);
ini_set('display_errors', '1');
// Connect to the MySQL database
include "storescripts/connect_to_mysql.php";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>checkout form</title>
</head>
<body>
<form action="insert.php" method="post">
Name: <input type="text" name="name">
Email: <input type="text" name="email"><br />
Credit Card: <input type="text" name="credit_card">
<input type="hidden" name="product_bought" value='product_bought'>
<input type="submit">
</form>
</body>
</html>
插入结帐页面上.PHP
<?php
$con=mysqli_connect("localhost","xxxx","xxxx","mystore");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO orders (name, email, credit_card, product_bought)
VALUES
('$_POST[name]','$_POST[email]','$_POST[credit_card]','$_POST[product_bought]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
您需要设置'checkoutpage.php'上的值 - 此刻,它的值是普通字符串'product_bought'。你可以像在'insert.php'上检索一样来检索那个页面上的值。 – andrewsi
不会解决你的问题,但是你应该为你的'echo'添加一个'else'1记录。 ' - 在'echo $ item_id'末尾添加一个分号 - 并且''session_start();'connect_to_mysql.php'内? –
试试这个'$ sql =(“INSERT INTO订单名称,email,credit_card,product_bought VALUES ('$ _POST [name]','$ _ POST [email]','$ _ POST [credit_card]','$ _ POST [product_bought]'),$ con)“;' –