如何使用 post 方法获取 foreach 循环内按钮的值

How to get value of button inside the foreach loop using post method

Objective:从$_POST方法中获取按钮的值,在foreach循环

$projects= 'Project1, Project2, Project3'//from mysql database 
$projectNames = explode(',', $projects); // to separate the project names to display one by one on button.

正在按钮上显示所有项目名称。

<?php foreach ($projectNames as $val):?>
<form action="projectSelected.php" method="post" id="project">
<button style="float:left" class="btn-default" value=""> <?php echo $val;?> </button>

问题陈述:当用户点击按钮 'Project1' 时,程序应该能够通过 $_POST['projectSelected'].

获取按钮的值

不胜感激。

设置隐藏值,然后post设置值

<form action="projectSelected.php" method="post" id="project"> <input type="hidden" value="<?php echo $val ?>"> <input type="submit">

这样做:

   <button style="float:left" name = 'projectSelected' class="btn-default"
 value=""> <?php echo $val;?> </button>

你设置的按钮名称将成为$_POST数组的键

1) 更改变量的名称:

$Projects => $projects (PHP convention)

2) 在你的 explode 函数后添加一个 trim

$projectNames = array_map('trim', $projectNames);

3) 使用输入提交而不是按钮 (similar question)

<input type="submit" style="float:left" class="btn-default" name="project" value="<?php echo $val ?>"/>

完整示例:

$projects = 'Project1, Project2, Project3'; //from mysql database 
$projectNames = explode(',', $projects); // to separate the project names to display one by one on button
$projectNames = array_map('trim', $projectNames);

循环:

<form action="projectSelected.php" method="POST" id="project">
<?php foreach ($projectNames as $val) : ?>

    <input type="submit" style="float:left" class="btn-default" name="project" value="<?php echo $val ?>"/>
<?php endforeach ?>
</form>