【发布时间】:2016-11-17 19:20:55
【问题描述】:
我创建了一个表单,要求用户在所有字段中输入信息,然后提交表单。我的目标是获取用户输入并将其插入数据库的新记录中。我目前面临的挑战是,因为我在 PHP 中使用了 for 循环来创建表格/表单:
- 我无法访问来自 $_POST 的输入
- 不确定如何区分所有行及其输入(因为我使用循环来创建它们)。我在想一个数组...
Please see a screenshot of the form I am working with.
以下是我的提交按钮。
if (isset($_POST['submit'])) {
$date = date('m\/d\/Y');
$ordnum = $_POST['cpOrderNumber'];
$ponum = $_POST['cpPoNumber'] . $_POST['cpPoNumberF'];
$palnum = $_POST['palnum'];
$casecount = $_POST['casecount'];
$cpsflot = $_POST['cpsflot'];
$sscc = $_POST['sscc'];
if(!empty($_POST['cpOrderNumber']) || !empty($_POST['cpPoNumber'])) {
require_once('mydatabase.php');
$query = "INSERT INTO ASN (date, ordnum, ponum, palnum, casecount, cpsflot, sscc )
VALUES ('$date', '$ordnum', '$ponum', '$palnum', '$casecount', '$cpsflot', '$sscc')";
$insert = sqlsrv_query($dbc, $query);
if( $insert === false ) {
die('Could not connect to database');
}
}
else {
die('Please enter the appropriate information');
}
sqlsrv_close($dbc);
}
这就是我遇到困难的地方。我可以将 $date、$ordnum 和 $ponum 插入数据库,但 $palnum 不会。正如您从我评论的内容中看到的那样,我尝试使用数组。
<?php
for ($x = 1; $x < 25; $x++) {
echo
'<tr id="' .$x. '">
<td style="font-size: 160%" name="palnum" id="pallet">' .$x. '</td>
<td id="caseCount"><input type="number" name="casecount" id="inputText_Small" maxlength="2"/></td>
<td id="hilltopLot"><input type="text" name="cpsflot" id="inputText_Order" value="" maxlength="10"/></td>
<td id="sscc"><input type="number" name="sscc" id="inputText_Medd" value="" maxlength="4"/></td>
</tr>';
$palnum[$x] = $x;
//$palnum[$x] = 'palnum'.$x;
//$palnum = $palnumx.$x;
//$palnum1 = $palnum[1];
}
//echo count($palnumx);
//echo $palnum[1];
?>
【问题讨论】:
-
这可能就是为什么...
$palnum = 'palnum';你需要像$palnum = $_POST['palnum'];那样格式化它。另外请注意,您的文档在页面上应该只有一个id,否则您的 DOM 无效,请考虑使用class为循环中的元素设置样式。 -
当我看到这里有越来越多的问题......呃......我想你需要找到一个关于
forms如何工作的教程 -
对不起,我最初是按照您指定的方式进行的,但在发布问题之前我进行了一些试验。我已经编辑了那部分。
标签: php sql sql-server forms