Как получить значение кнопки внутри цикла foreach, используя метод post
Цель: получить значение кнопок из метода $_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']
,
Помощь будет оценена.
3 ответа
Решение
Установите значение в скрытый, а затем опубликовать значение
<form action="projectSelected.php" method="post" id="project">
<input type="hidden" value="<?php echo $val ?>">
<input type="submit">
1) измените имя вашей переменной:
$Projects => $projects (PHP convention)
2) добавить обрезку после функции разнесения
$projectNames = array_map('trim', $projectNames);
3) использовать кнопки ввода вместо кнопок ( аналогичный вопрос)
<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);
Loop:
<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>
Сделай это:
<button style="float:left" name = 'projectSelected' class="btn-default"
value=""> <?php echo $val;?> </button>
то, что вы установите имя кнопки, станет ключом $_POST
массив