我想根据表中的值显示按钮。之后,我需要访问任何按钮,并根据按钮的标签执行操作。更具体地说,我有一个包含主题名称的表,我想显示每个按钮都有一个主题的标签。当用户点击一个按钮(例如:物理)时,屏幕应该只显示物理测试(MCQs),依此类推:
下面是我的代码:
<button id="subj" onclick="showSubjects()">Start Test </button>
<div id="subjects" style="display: none;">
<form method='POST'>
<?php include_once('connect.php');
$query = "select distinct subject from subjects order by subject
desc ";
$result = mysqli_query($conn,$query);
while($row=mysqli_fetch_array($result)){
$subjectname = $row['subject'];?>
<input type="submit" id = "sub" name="sub"
value='<?php echo $subjectname; ?>'>
<?php } ?>
</form>
</div>
<?php
if(isset($_POST['sub'])){echo $subjectname; } else {echo
"Nothing";}
?>
</body>
<script type="text/javascript">
function showSubjects(){
document.getElementById("subjects").style.display = "block";}
function showTest(){
document.getElementById("tests").style.display = "block";
} </script>这显示了3个按钮: PHISICS化学生物学
当用户单击这些按钮中的任何一个时,它会将其作为最后一个按钮值,即生物学。
我如何修改它,使其如果用户点击化学,它应该显示“化学按钮点击”等
发布于 2020-06-21 20:23:41
唯一会根据提交的表单进行更改的是$_POST数组。其他变量,比如PHP,无论用户做什么都是一样的;$subject不会猜测您想要它们是什么。
如果用户按下了任何按钮,您已经有了逻辑检查:
if(isset($_POST['sub'])){ ... }要确定他们按下了哪个按钮,只需查看同一个变量:
echo $_POST['sub'];对于您添加的任何其他表单控件也是如此-用户的选择将以$_POST格式结束,并由您从那里读取它们。
还值得记住的是,显示表单的逻辑不需要与处理提交的表单的逻辑位于同一位置,因此这些按钮是动态生成的,这对您如何读回提交的数据没有什么不同。您甚至不能保证用户使用了您的表单,他们可以编写自己的表单并将其提交到您的服务器,或者使用浏览器的调试工具进行编辑。
https://stackoverflow.com/questions/62495792
复制相似问题