codeigniter:在其他页面中看不到我的成功消息

时间:2018-06-12 18:00:07

标签: php codeigniter codeigniter-3 codeigniter-flashdata

我遇到了一个问题:当我在表单中点击注册时,它会将我重定向到登录页面,但是他们没有向我显示此消息。

  

“谢谢你,你已经注册了”

这是我的登录页面“view”的一部分

<div class="container">
<div class="row">
<div class="col-md-5 center-block-e">
    <div class="login-page-header">
    <?php echo lang("ctn_304") ?> <?php echo $this->settings->info->site_name ?>
    </div>
    <div class="login-page">
    <?php echo form_open(site_url("login/pro")) ?>
        <div class="input-group">
            <span class="input-group-addon white-form-bg"><span class="glyphicon glyphicon-user"></span></span>
            <input type="text" name="email" class="form-control" placeholder="<?php echo lang("ctn_303") ?>">
        </div><br />
        <div class="input-group">
            <span class="input-group-addon white-form-bg"><span class="glyphicon glyphicon-lock"></span></span>
            <input type="password" name="pass" class="form-control" placeholder="<?php echo lang("ctn_180") ?>">
        </div>
        <p class="decent-margin"><input type="submit" class="btn btn-primary form-control" value="<?php echo lang("ctn_184") ?>"></p>
        <p class="decent-margin"><a href="<?php echo site_url("login/forgotpw") ?>"><?php echo lang("ctn_181") ?></a></p>

这是我的注册页面“控制器”的一部分

if (empty($fail)) {
    // Check for any default user groups
    $default_groups = $this->user_model->get_default_groups();
    foreach($default_groups->result() as $r) {
        $this->user_model->add_user_to_group($userid, $r->ID);
    }
    $this->session->set_flashdata("globalmsg", $success);
    redirect(site_url("login"));
}

2 个答案:

答案 0 :(得分:0)

你必须在登录页面上添加容器,例如<div id='globalmsg'></div>你的id应该传递给传递给你的第一个参数的任何元素,以附加你的成功消息,第二个参数就是你的消息

$success = '"Thank you , you have been registered"';

$this->session->set_flashdata("**globalmsg**", $success);

答案 1 :(得分:0)

注意 :确保您已加载会话库

在登录视图中显示msg使用以下代码行:

<?php echo $this->session->flashdata('globalmsg');?>

代码应该是这样的(在任何你想要显示的地方使用):

<div id="container">
<div class="row">
    <?php echo $this->session->flashdata('globalmsg');?>
    ..........

</div>
</div>

将闪存数据设置在寄存器页面“controller”中,如下所示:

$this->session->set_flashdata("globalmsg", 'Thank you , you have been registered');
redirect(site_url("login"));