【问题标题】:codeigniter : can't see my success message in other pagecodeigniter:在其他页面看不到我的成功消息
【发布时间】:2018-06-12 18:00:07
【问题描述】:

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

“谢谢,你已经注册了”

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

<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"));
}

【问题讨论】:

  • 我看不到你在哪里输出你的 flashdata。
  • @u_mulder 我在我的登录页面“view”中使用过这个= $this->session->flashdata('globalmsg');?> 但它不起作用
  • 然后显示你的代码
  • 您使用变量$success 设置flashdata。但是$success 的值在哪里?它有一个吗?如果没有,那么 flashdata 项“globalmsg”也不会。
  • @DFriend 请我如何给 $SUCCESS 一个值以及在什么文件中?请我想要简短的例子。真的谢谢你兄弟。

标签: php codeigniter codeigniter-3 codeigniter-flashdata


【解决方案1】:

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

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

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

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

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

</div>
</div>

在注册页面“控制器”中设置您的闪存数据,如下所示:

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

【讨论】:

  • 你检查我的答案了吗?
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-01-01
    • 2011-02-26
    • 2016-10-21
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 2019-08-01
    相关资源
    最近更新 更多