【问题标题】:Base_url not working?Base_url 不起作用?
【发布时间】:2017-06-13 04:53:57
【问题描述】:

只是一个简单的问题?

如何制作CI

<?= base_url();?>

使用“字符串”

完整代码如下:

<?php if($_SESSION['admin'] == 1||$_SESSION['admin']== 0){
    echo "<a class='btn-common' href='<?= base_url();?>usr/logout'>LOGOUT</a>";
      }
      else{
          echo "<a class='btn-common2'></a>";
      }

Base_url 不工作

<?base_url();?>

【问题讨论】:

  • 首先我不明白这个&lt;?=。其次,最好始终以 &lt;?php 而不是 &lt;? 开头。最后,您必须使用echo
  • &lt;?= 类似于 &lt;?php echo 并且是有效的语法。无需使用 echo 使用它!
  • @AntonisTsimourtos &lt;?=&lt;?php echo ... 的简写,它非常常见且有效
  • @leo_ap 谢谢,很重要的信息!
  • 确保您正在加载 'url' 帮助程序并且它已在配置中设置。 Also everything else in this answer.

标签: php codeigniter


【解决方案1】:

您不能在此字符串中使用 php 方法,您需要将字符串与结果连接起来:

    echo "<a class='btn-common' href='" . base_url() . "usr/logout'>LOGOUT</a>";

【讨论】:

  • 谢谢!是工作。还是新手,为最终的网络项目而战
【解决方案2】:

也是这样。将您的路径传递给 base_url() 作为参数:

 <a class='btn-common' href='<?php echo base_url("usr/logout");?>'>LOGOUT</a>;

别忘了加载urlhelper.using

$this->load->helper('url');

【讨论】:

  • 为了在 echo 中使用 PHP 标签,他需要在启动标签之前关闭它们
  • 我并不是说一种方式比另一种更好,但在他使用echo的情况下,他已经在php标签中。为了使您的示例正常工作,他需要将 echo 替换为 ?&gt; 并在打印 HTML 后启动一个新的 php 标签。
【解决方案3】:

你需要连接字符串。

 echo "<a class='btn-common' href='".site_url('usr/logout')."'>LOGOUT</a>";

我建议在参数中将 site_url 与您的控制器一起使用(它将使用您的配置文件自动构建 url)。 使用 Codeigniter,您也可以使用 $this->session->userdata('admin') 来检索会话数据。

  if($this->session->userdata('admin')===1 || $this->session->userdata('admin')===0){
      echo "<a class='btn-common' href='".site_url('usr/logout')."'>LOGOUT</a>";
  }else{
      echo "<a class='btn-common2'></a>";
  }

【讨论】:

    【解决方案4】:

    您应该使用 codeigniter 链接

    <?php echo anchor("usr/logout",'Logout', 'title="Logout"');?>
    

    您不需要使用基本 url,Codeigniter 会为您输入它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 2016-04-11
      • 1970-01-01
      相关资源
      最近更新 更多