【问题标题】:Why automatic newline not working on CodeIgniter?为什么自动换行不能在 CodeIgniter 上运行?
【发布时间】:2014-11-14 08:51:29
【问题描述】:

我检查了在<?php?> 标记前后搜索多余空格的所有文件,但没有结果。 有人知道为什么 Codeigniter 输出的 HTML 代码没有换行符吗?

例如:

<?php
    echo form_open('/login/validate_credentials');
    echo form_input('email', '', 'id="email" placeholder="Email"');
    echo form_password('password', '', 'id="password" placeholder="password"');
    echo form_submit('submit', 'login');
    echo anchor('/login/signup', 'sign up');
    echo form_close();
?>

我希望:

<form action="http://localhost/login/validate_credentials" method="post" accept-charset="utf-8">
<input type="text" name="email" value="" id="email" placeholder="Email" />
<input type="password" name="password" value="" id="password" placeholder="password" />
<input type="submit" name="submit" value="login"  />
<a href="http://localhost/login/signup">sign up</a>
</form>

但我明白了:

<form action="http://localhost/login/validate_credentials" method="post" accept-charset="utf-8"><input type="text" name="email" value="" id="email" placeholder="Email" /><input type="password" name="password" value="" id="password" placeholder="Contraseña" /><input type="submit" name="submit" value="Iniciar Sesion"  /><a href="http://localhost/login/registro">Crear Cuenta</a></form>

这不仅发生在表单助手中,例如我正在使用 Facebook Connect,当我使用 var_dump($fb_data) 时,我得到:

array(2) { ["me"]=> array(11) { ["id"]=> string(17) "101654498872" ["email"]=> string(20) "example@gmail.com" ["first_name"]=> string(8) "My Name" ["gender"]=> string(4) "male" ["last_name"]=> string(6)...... bla bla bla more code

有什么帮助吗?谢谢。

【问题讨论】:

  • 手动添加时会添加吗?
  • 你的意思是如果我手动添加html?是的,工作完美。问题是当我将 php 与 codeigniter 一起使用时。

标签: php codeigniter newline line-breaks


【解决方案1】:

您没有添加换行符...尝试以下操作:

<?php echo form_open('/login/validate_credentials'); ?>
<?php echo form_input('email', '', 'id="email" placeholder="Email"'); ?>
<?php echo form_password('password', '', 'id="password" placeholder="password"'); ?>
<?php echo form_submit('submit', 'login'); ?>
<?php echo anchor('/login/signup', 'sign up'); ?>
<?php echo form_close(); ?>

对于 var_dump(),使用下面的方法来回显它:

<?php echo print_r(var_dump($variable),true); ?>

在浏览器中,将以下内容用于“漂亮打印”:

<pre><?php echo print_r(var_dump($variable),true); ?></pre>

【讨论】:

  • 如果我没记错的话,CodeIgniter 在表单帮助函数中添加自动换行符。但是为了测试我尝试了你的代码并且没有工作。我真的不知道该怎么办......
  • 您在哪个文件中尝试这个?控制器、视图、模型?
  • 视图中的表单代码,控制器中的var_dump()
  • 嘿,我尝试使用 pre 标签和作品,抱歉我昨天没有测试它。谢谢!
【解决方案2】:

尝试回显像&lt;br/&gt; 这样的html标签,我总是用它来创建换行符

<?php
    echo form_open('/login/validate_credentials');
    echo "<br/>";
    echo form_input('email', '', 'id="email" placeholder="Email"');
    echo "<br/>";
    echo form_password('password', '', 'id="password" placeholder="password"');
    echo "<br/>";
    echo form_submit('submit', 'login');
    echo "<br/>";
    echo anchor('/login/signup', 'sign up');
    echo "<br/>";
    echo form_close();
?>

【讨论】:

  • 是的,我知道并且我在 CodeIgniter 中也有 br() 函数,但据我所知,在这种情况下 br 是自动的,我不知道为什么不起作用。顺便说一句,我可以解决表单问题,但我可以用 var_dump(data) 做什么?输出不缩进且没有换行符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
  • 2019-05-27
  • 2013-09-05
  • 2015-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多