在codeigniter中将数据从视图传递到控制器

时间:2014-02-09 20:57:14

标签: php html html5 codeigniter web

我正在使用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表。

我可以自己做所有控制器/模型位。它只是将视图中的数据传递给我正在努力的控制器。

任何帮助都非常感谢!如果有任何意义啊!

1 个答案:

答案 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