我有这段代码:
@import url(css url)
这将产生3个复选框和1个峰值按钮。选择将由acvitity1.php。
处理我想为每个复选框行添加另一个提交按钮,如下所示:
echo "<form action='activity1.php' method='post'>";
echo "<input type='checkbox' name='checkbox_test[]' value='1'>aaa";
echo "<input type='checkbox' name='checkbox_test[]' value='2'>bbb";
echo "<input type='checkbox' name='checkbox_test[]' value='3'>ccc";
echo "<br><br>";
echo "<input type='submit' name='activity1' value='Activity1'>";
echo '</form>';
如果用户按下activity2按钮,我怎么能传递另一个php文件的值(对于ex activity2.php)?
那么如何将表格换成另一种形式呢?
考虑一个表/表单,您可以在其中选择任何行进行删除(activity1),并选择每行结尾的按钮来编辑按钮按下的表行(activity2)。
谢谢!
答案 0 :(得分:1)
发布编辑: 由于我无法发表评论,我无法要求澄清。你说:
Ammadu:在按下activity2按钮后,页面得到(需要)被重定向到另一个页面(activiy2.php)。在activity2.php,我想用$ _POST捕获checkbox_test []值。
在这种情况下,AFAIK,您无法将请求显式重定向到activity2.php,因为不允许使用表单嵌套,“Activity2”提交按钮将始终POST到activity1.php。你可以做的最简单的事情就是检查哪个提交按钮发布请求并做出反应(检查POST变量的代码如下所示在编辑前部分)。
<强>预编辑:强> 您的问题对我来说似乎有点不清楚,但我会根据您在问题末尾所写的内容来回答:
考虑一个表/表单,您可以在其中选择任何行进行删除(activity1),并选择每行结尾的按钮来编辑按钮按下的表行(activity2)。
另外,我不是专业人士,只是学生和业余程序员。 我在大学读网络编程课程时遇到了类似的问题。具体来说,每行末尾都有用于删除行的复选框和每个行旁边的“编辑”按钮。表下方有一个“删除”按钮,用于调用脚本,删除标记为删除的行。我们使用了一些肮脏,肮脏的黑客来完成这项工作。
您询问了表单嵌套,快速Google搜索显示表单嵌套不是有效代码。
除非您确实需要在单独的PHP脚本中执行任务,否则我建议检查POST变量以查看用于将表单数据发布到服务器的按钮:
<?php
if (isset($_POST['activity1'])) {
//code for activity1 button
}
elseif (isset($_POST['activity2'])) {
//code for activity2 buttons
}
?>
这种方法也引起了另一个问题 - 没有简单的方法来识别该按钮属于哪一行。您可以做的是在每行的创建过程中动态命名按钮(activity2_1,activity2_2 ...),然后在PHP脚本中创建一个循环,用于检查单击了哪个按钮,这是一种非常无效的方法的东西。那是我在学习WP课程时用过的肮脏黑客。
我想要的是简单的锚点。您可以在PHP循环中创建它们,如下所示:
<?php
//...rest of the code in the loop...
echo '<a href="/activity2.php?rowID=' . $current_row_id . '">Edit</a>';
//...rest of the code in the loop...
?>
脚本activity2.php然后应执行简单的GET检查并完成剩下的工作:
<?php
if (isset($_GET['rowID'])) {
//activity code
}
?>
如果真的需要使用按钮:
...或者,如果你被允许,你可以使用简单的JavaScript代码,你可以用同样的方式在PHP循环中生成,就像这样(从我的头脑中)然后回应它:
<?php
//...rest of the code in the loop...
echo '<input type="button" onclick="location.href="/activity2.php?rowID=' . $your_row_id . '";" value="Edit" >';
//...rest of the code in the loop...
?>
希望这有帮助。