我继承了一个使用Code Igniter构建的应用程序。我已经设置了环境并在新计算机上加载了应用程序,而我对base_url()的调用无法解决问题。
以下是视图中的代码:
<a href="<?= base_url();?>index.php/study/start">Start Study Analysis » </a>
呈现页面时,这是创建的URL:
<a href="<?= base_url();?>index.php/study/start">Start Study Analysis »</a>
似乎没有进行函数调用,并且代码以纯文本形式插入。我查看了config.php文件,并在那里设置了base_url。帮助程序正在autoload.php文件中加载,我甚至试图在视图中加载帮助程序。
有没有人知道为什么会这样?
答案 0 :(得分:0)
以下是视图中的代码:
a href="< ?= base_url();?>index.php/study/start">Start Study Analysis » /a>
这可能是你帖子中的格式错误,或者你只是在那里有一个非常错误的链接。
我要猜测你的<
和?=
之间确实有一个空格,这确实会导致代码不被解析为php,而是被破解为文本/ HTML
%20
是一个网址编码的空格字符,因此您可以在网址中看到这一点。
确保PHP开始标记中没有空格:
<?php echo base_url(); ?>
而非< ?php echo base_url(); ?>
<?= base_url(); ?>
而非< ?= base_url(); ?>
那里没有空间。我需要添加它[用于格式化帖子]
我能想到的另一件事是没有启用短标签,但我承认如果是这种情况我不知道这是不是你的结果。尝试使用<?php echo
代替<?=
,或启用rewrite_short_tags
中的config.php
选项。这肯定不是base_url()
或类似的问题,你的php标签被解析为纯文本,所以它们里面的内容根本不重要。