我一天中的大部分时间都在努力解决这个问题而且我真的很难过。
我的此页面名为preview.php
,下面的代码如下。值将从另一个名为order.php
的页面传递到此页面。此preview.php
页面允许用户查看来自order.php
的数据输入。
如果需要更正,用户将返回order.php
进行更正。如果一切正常,用户将他或她的订单发送到process.php
进行处理。发送到process.php
的信息是隐藏的表单字段。
由于某些原因我无法弄清楚,process.php
无法识别隐藏的表单字段值。
有没有人知道如何解决这个问题?
这个温柔的男人@ spencer7593实际上帮我解决了这个插入语句。但是,每次我尝试添加记录时,都会得到以下结果:
错误:custname值不能为null
这是因为隐藏的表单值为空,我无法弄清楚原因。
preview.php
?php
error_reporting(E_ALL);
echo "DEBUG POST DATA: <pre>".print_r($_POST, 1)."</pre>";
if(isset($_POST['custname']))
$custname = $_POST['custname'];
if(isset($_POST['zip']))
$zip = $_POST['zip'];
if(isset($_POST['city']))
$city = $_POST['city'];
if(isset($_POST['email']))
$email = $_POST['email'];
$address = $_POST['address'];
$rowIDs = $_POST['rowIDs'];
$row2IDs = $_POST['row2IDs'];
echo $custname .'<br>';
echo $zip .'<br> <hr width=400 align=left>';
$rowIDs = $_POST['rowIDs'];
foreach ($rowIDs as $id) {
$agentname = $_POST['agentname' . $id];
$agentaddress = $_POST['agentaddress' . $id];
$agentincome = $_POST['agentincome' . $id];
echo 'Name: '. $agentname . '<br />';
echo 'Address: '. $agentaddress . '<br />';
echo 'agentincome: '. $agentincome . '<br /><br>';
}
?>
<body>
<form action='process.php' method = 'POST'>
<input type='hidden' name='custname' value="<?php echo $custname; ?>">
<input type='hidden' name='address' value="<?php echo $address; ?>">
<input type='hidden' name='email' value="<?php echo $email; ?>">
<input type='hidden' name='city' value="<?php echo $city; ?>">
<input type='hidden' name='zip' value="<?php echo $zip; ?>">
<input type='hidden' name='agentname' value="<?php echo $agentname; ?>">
<input type='hidden' name='agentaddress' value="<?php echo $agentaddress; ?>">
<input type='hidden' name='agentincome' value="<?php echo $agentincome; ?>">
<input type="action" type="button" value="Return to data" onclick="history.go(-1);" /> | <input type="submit" value="Submit your form" />
</form>
</body>
process.php
<?php
global $wpdb;
// Database connection
$conn = mysqli_connect("localhost","myuser","mypwd","myDB");
if(!$conn) {
die('Problem in database connection: ' . mysql_error());
}
// Data insertion into database
$sql = 'INSERT INTO `myDB`.`myTable` ( `custname`'
. ', `address`, `city`, `zip`, `email` )'
. ' VALUES ( ? , ? , ? , ? , ? )';
if( $sth = mysqli_prepare($conn,$sql) ) {
mysqli_stmt_bind_param($sth,'sssss'
,$_POST["custname"]
,$_POST["address"]
,$_POST["city"]
,$_POST["zip"]
,$_POST["email"]
);
if( mysqli_stmt_execute($sth) ) {
echo '<h1>Thank you</h1> <br> Go back to the main page <a href="index.php");';
} else {
printf("Error: %s\n",mysqli_stmt_error($sth));
}
} else {
printf("Error: %s\n",mysqli_connect_error($conn));
}
?>