我使用foreach语句创建多个表单。
我想检索用户单击按钮时我的段落ID设置为的$ _POST值。
在这种情况下,我不知道如何在我的displayTeacherProfile函数中使用$ _POST,因为我不知道我的段落id的确切值是什么。
<?php foreach ($data['teachers'] as $teachData): ?>
<form class="form-horizontal" id="form" action="/MVC/teacher/displayTeacherProfile" method="post">
<tr>
<td><?php echo $teachData['username_email'] ?></td>
<td><p class="form-control-static" name="<?php $teachData['person_id'] ?>"
id="<?php $teachData['person_id'] ?>"><?php echo $teachData['language_name'] ?></p>
</td>
<td>
<button id="continueButton" name="action" type="submit" class="btn btn-default"
value="Search">Visit Profile
</button>
</td>
</tr>
</form>
答案 0 :(得分:0)
你的方向非常错误我的朋友。
首先,您不能在表格和tr之间放置表格
表的结构是
表&lt; tr&lt; td 你不能把它像 表&lt;形式&lt; tr&lt; TD 撞击> 强>
如果您检查代码,那么您可以看到我在说什么。
根据要求,将表单放在 td 或表之外
在您的情况下,请在 td 中使用它。
之后,您无法在发布数据中获取段落ID的值。您必须创建一个表单字段才能获取该数据。
在你的情况下,这将是一个隐藏的领域。
所以代码就像这样
<?php foreach ($data['teachers'] as $teachData): ?>
<tr>
<td><?php echo $teachData['username_email'] ?></td>
<td><p class="form-control-static" name="<?php $teachData['person_id'] ?>"
id="<?php $teachData['person_id'] ?>"><?php echo $teachData['language_name'] ?></p>
</td>
<td>
<form class="form-horizontal" action="/MVC/teacher/displayTeacherProfile" method="post">
<input type="hidden" name="teacher_id" value="<?php echo $teachData['person_id'] ?>">
<button name="action" type="submit" class="btn btn-default"
value="Search">Visit Profile
</button>
</form>
</td>
</tr>
它会在$_POST['teacher_id']
这样可行。
我建议您使用GET而不是POST。检查此链接
When do you use POST and when do you use GET?
检查此代码是否为 $ _ GET
<?php foreach ($data['teachers'] as $teachData): ?>
<tr>
<td><?php echo $teachData['username_email'] ?></td>
<td><p class="form-control-static" name="<?php $teachData['person_id'] ?>"
id="<?php $teachData['person_id'] ?>"><?php echo $teachData['language_name'] ?></p>
</td>
<td>
<a href="/MVC/teacher/displayTeacherProfile?person_id=<?php echo $teachData['person_id'] ?>" class="btn btn-default"
>Visit Profile
</a>
</td>
</tr>