我目前正在尝试为我的教会创建一个网站,我们可以在每个星期为歌曲列表选择歌曲。我们选择了6首歌曲,我想要设置多个表格一页,以便选择不同的标准,每首歌曲将被单独拉出,然后我将在底部创建一个主提交,这将从所有6个表单中提取数据生成最终数据。
下面是在2表格测试中输入歌曲和艺术家的示例数据,但问题是当我提交1时,另一个清空。我需要保留所有数据,这样一旦所有6个数据填入主提交,就可以获取已发布的所有数据。请尽量提供任何见解。
<?PHP
$Artist1 = $Song1 ="";
if (($_SERVER["REQUEST_METHOD"] == "POST") and isset($_POST["submit1"]) )
{
if (empty($_POST["Artist1"]))
{
$Artist1 = "";
} else
{
$Artist1 = test_input($_POST["Artist1"]);
}
if (empty($_POST["Song1"]))
{
$Song1 = "";
} else
{
$Song1 = test_input($_POST["Song1"]);
}
}
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Artist: <input type="text" name = "Artist1" value="<?php echo $Artist1;?>">
<br>
Song: <input type="text" name = "Song1" value="<?php echo $Song1;?>">
<br>
<input type = "submit" name = "submit1" value="Submit1">
</form>
<?php
echo "<h2>Your song </h2>";
echo $Artist1;
echo "<br>";
echo $Song1;
?>
<?PHP
$Artist2 = $Song2 ="";
if (($_SERVER["REQUEST_METHOD"] == "POST") and isset($_POST["submit2"]) )
{
if (empty($_POST["Artist2"]))
{
$Artist2 = "";
} else
{
$Artist2 = test_input($_POST["Artist2"]);
}
if (empty($_POST["Song2"]))
{
$Song2 = "";
} else
{
$Song2 = test_input($_POST["Song2"]);
}
}
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Artist: <input type="text" name = "Artist2" value="<?php echo $Artist2;?>">
<br>
Song: <input type="text" name = "Song2" value="<?php echo $Song2;?>">
<br>
<input type = "submit" name = "submit2" value="Submit2">
</form>
<?php
echo "<h2>Your song </h2>";
echo $Artist2;
echo "<br>";
echo $Song2;
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
答案 0 :(得分:0)
在HTML中,如果您在单击提交时有一个带有动作属性的表单,则浏览器将对您设置的动作网页进行POST。在那里,你无法以这种方式做你需要的事情。
您有三种解决方案: