Как получить значение кнопки внутри цикла 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 массив

Другие вопросы по тегам