我正在使用CodeIgniter框架来构建网站。
我目前有一个视图,可以将所有未验证的成员打印到一个表中,并为每个成员添加一个按钮,可以单击该按钮来验证该帐户。
以下是视图的代码
<h2>Admin Control Panel</h2>
<?php
/*
* First Output Members to be verified in tables
*/
//check if there is actually any data to print first.
echo ("<h3> Members to be Verified</h3>");
if(empty($unverified_members))
{
echo "<h4>There are currently no members to be verified </h4>";
}
else
{
$count_unverified_members=count($unverified_members);
echo "<table border='1'>";
//print table headers
echo <<<HTML
<th><div align ="center">ID Number</div></th>
<th><div align ="center">Username</div></th>
<th><div align ="center">E-Mail Address</div></th>
<th><div align ="center">Verify Account</div></th>
HTML;
for($arr_counter=0;$arr_counter<$count_unverified_members;$arr_counter++)
{
$current_member_id=$unverified_members[$arr_counter]->member_id;
$current_username=$unverified_members[$arr_counter]->username;
$current_email=$unverified_members[$arr_counter]->email;
//now print values
echo<<< HTML
<tr>
<td><div align ="center">$current_member_id</div></td>
<td><div align ="center">$current_username</div></td>
<td><div align ="center">$current_email</div></td>
<td><form action="Verify" method="post"><div align ="center"><input type="submit" value="Verify" /></div></form></td>
</tr>
HTML;
}
echo "</table><br><br>";
}
?>
我正在尝试将要验证的用户传递给我的控制器。
在第二个heredoc中我有这段代码
<td><form action="Verify" method="post"><div align ="center"><input type="submit" value="Verify" /></div></form></td>
我希望该用户提交该用户的member_id以及一些描述的标志,这意味着需要验证具有该member_id的用户。
所以实质上是
将需要验证的用户打印到表格中 - >点击验证特定用户进行验证 - >将所选用户传递给控制器,并指示用户可以验证用户的标志 - >控制器将信息传递给model-&gt; model在数据库中设置标志,表示可以验证用户 - &gt; model将所有用户设置为valid_users表。
我可以自己做所有控制器/模型位。它只是将视图中的数据传递给我正在努力的控制器。
任何帮助都非常感谢!如果有任何意义啊!
答案 0 :(得分:2)
您只需要一个隐藏的表单字段来发送ID - 使用您的代码
<td><form action="members/verify" method="post">
<input type="hidden" name="memberid" value="<?php echo $current_member_id ?>" />
<div align ="center"><input type="submit" value="Verify" /></div>
</form>
</td>
然后,在您的控制器中,您可以从这样的表单中获取成员ID的值
$memberid = $this->input->post( 'memberid', TRUE ) ;
重点 - 请注意,对于此示例,我将表单操作编写为“members / verify”。这意味着它将转到名为members的控制器,以及名为verify的方法。
当你有时间检查codeigniters表类时 - 它真的可以帮助http://ellislab.com/codeigniter/user-guide/libraries/table.html
该教程是常见任务的一个很好的参考 http://ellislab.com/codeigniter/user-guide/tutorial/index.html