我的主页设置如下。它有2个文本框和一个复选框列表,这些复选框是从文本文件中填充的(我不使用db作为一个简单的表单)。我的问题是我无法在复选框中发布值并回显它们
<!DOCTYPE HTML>
<html>
<body>
<?php
$CN = $Assignee ="";
?>
<form action="GPParser1.php" method="post">
<table>
<tr>
<td>CName:</td>
<td><input type="text" name="CN"></td>
</tr>
<tr>
<td>Assignee:</td>
<td><input type="text" name="Assignee" ></td>
<tr>
<tr>
<td>Select Vendors:</td>
</tr>
<td>
<?php
$gp = file('GP.txt');
foreach ($gp as $line_num => $gp)
{
//echo '<input type="checkbox" name= $line value=$line>($line)."<br />\n";
print "
<br/>
<input type='checkbox' name='" . $gp . "' value='" . $gp . "'>$gp";
};
?>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit">
</td>
<?php
echo $CasinoName;
echo $Assignee;
//foreach ($gp as $ln => $gp) {
// echo $gp;
//};
?>
</body>
<html>
和
<!DOCTYPE HTML>
<html>
<body>
<?php
$CN = $_POST["CN"];
$Assignee = $_POST["Assignee"];
$GPS = $_POST ["$gp"];
echo $CN;
echo $Assignee;
foreach ($GPS as $GPss => $GPS)
{
echo "$GPS";
}
//foreach ($gp as $ln => $gp) {
// echo $gp;
//};
?>
</body>
<html>
就像现在一样,我在$ GPS = $ _POST [&#34; $ gp&#34;];
的基础上得到了几个错误我该怎么办?
答案 0 :(得分:0)
在这两个脚本中,您将覆盖foreach循环中的变量
foreach ($gp as $line_num => $gp)
// this ^^^
// ^^^ overwrites this
和
foreach ($GPS as $GPss => $GPS)
// this ^^^
// ^^^ overwrites this
因为您在as
而是使用另一个像这样的名称
foreach ($gp as $line_num => $gpx)
通常的做法是使用复数名称$items
命名包含数组的数组变量,并将单数变量命名为
foreach ($gps as $line_num => $gp)
答案 1 :(得分:0)
如果我错了,我不确定这是否是您正在寻找的解决方案,请告诉我,以便我能给出更好的答案。
我的解决方案是,您的表单将有一个复选框列表,该列表稍后将在提交表单时成为值数组。
<!DOCTYPE HTML>
<html>
<body>
<?php
$CN = $Assignee ="";
?>
<form action="GPParser1.php" method="post">
<table>
<tr>
<td>CName:</td>
<td><input type="text" name="CN"></td>
</tr>
<tr>
<td>Assignee:</td>
<td><input type="text" name="Assignee"></td>
<tr>
<tr>
<td>Select Vendors:</td>
</tr>
<td>
<?php
$gp = file('GP.txt');
foreach ($gp as $line_num => $gp) { ?>
<p><input type="checkbox" name="gp[]" value="<?php echo $gp; ?>">
<?php echo $gp; ?>
</p>
<?php }; ?>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit">
</td>
</tr>
</body>
</html>
&#13;
<!DOCTYPE HTML>
<html>
<body>
<?php
$CN = $_POST["CN"];
$Assignee = $_POST["Assignee"];
$GPS = $_POST["gp"];
echo $CN;
echo $Assignee;
foreach ($GPS as $GPss => $GPS)
{
echo "$GPS";
}
//foreach ($gp as $ln => $gp) {
// echo $gp;
//};
?>
</body>
<html>
&#13;