0

我是在 iPad 上输入的,如果简洁有点粗鲁,请原谅我。我的问题是:

在视图中拥有简单的逻辑是否可以?例如,

<HTML>
<!-- ... Stuff
-->
<?php if($this->session->userdata('authorized'): ?>
<p>You are authorized</p>
<?php else: ?>
<p>You are not authorized</p>
<?php endif; ?>  // Question 1, is this the proper use of an endif:?
<!-- .. Stuff
->>
</HTML>

/* Starting to type the rest of message on my laptop.  Big thank yous to the coders on
   this site   who made my pc login transfer my unsaved, half typed iPad post */

以上只是代码中的一个剩余注释,它会使有限的 php 使用看起来很难看。我想让它被看到。

无论如何,关于问题#2:

在视图中使用这样的简单条件是否合适?

感谢阅读,再次问好。

4

3 回答 3

1

使用Language 类来存储您的“您已获得授权”和“您未获得授权”文本。在控制器中进行会话检查,并将正确的语言值传递给数据数组中的视图。

编辑:来自 STONYFTW 的附加问题:

对于一些更复杂的代码应该采取什么方法,例如:?

    <?php if(!$this->session->userdata('isLoggedIn')): ?>
          <div id="login_form">
              <?php echo form_open('login/validateCredentials'); ?>
              <?php echo form_input('username', 'Username'); ?>
              <?php echo form_password('password', 'Password'); ?>
              <?php echo form_submit('submit', 'Log In'); ?>
              <div id="login_form_link_container">
                  <?php echo anchor('login/register', 'Register')." ".anchor('login/recover','Forgot Pass?'); ?>
              </div>
          </div>
   <?php endif; ?>
于 2012-04-05T20:26:14.233 回答
1

我建议您在控制器中为每种情况使用不同的视图:

// In the controller
if($this->session->userdata('authorized')
  $this->load->view('not_autorized.php');
else
  $this->load->view('view.php');

所以你得到干净的代码和视图。

于 2012-04-05T21:14:12.420 回答
1

在回答第一个问题时:这是正确使用 a 的方法endif,所有这些都是 codeigniter 有效和推荐的方式。

关于第二个问题,这个方法可以在视图文件中使用;但是我建议在$data传递给页面的数组中使用它,这意味着它将被访问为$authorised; 我这样说是因为它对前端设计师来说更有意义。

$data可以在此处找到有关数组的信息,只需导航到“向控制器添加逻辑”。

我希望这对你有帮助。

于 2012-04-05T20:08:24.537 回答