【问题标题】:Why the script don't work correctly?为什么脚本不能正常工作?
【发布时间】:2026-01-29 08:00:02
【问题描述】:

我创建了添加评论脚本。

来源 -

if (isset($_GET['do']) and $_GET['do'] == 'comment'){//Ja viss kārtībā, turpinam
                if (!empty($_POST['name']) and !empty($_POST['artcl_id']) and !empty($_POST['homepage']) and !empty($_POST['text'])){
                    $name = trim($_POST['name'],' ');
                    $artcl_id = trim($_POST['artcl_id'],' ');
                    $homepage = trim($_POST['homepage'],' ');
                    $text = trim($_POST['text'],' ');
                    Model::factory('index')
                            ->send_commentar(mysql_real_escape_string($name), mysql_real_escape_string($artcl_id), mysql_escape_string($homepage), mysql_real_escape_string($text), mysql_real_escape_string(time()));
                    ?>
                    <script type="text/javascript">
                        alert("Thank you! :)");
                    </script>
                    <meta http-equiv="REFRESH" content="0;url=/article/<?php echo $slug; ?>"/>
                    <?php

                } else {
                    $this->template->content = View::factory('index/error')->set('message', 'How to submit empty comment?');
                }
        }

但如果我在输入字段中输入空格,脚本会发送空格。为什么脚本不能正常工作?

【问题讨论】:

  • “他们开始工作”也是不正确的说法

标签: php frameworks kohana


【解决方案1】:

检查空字段后,您将删除空格。难道你不想扭转局面吗?先去掉空格再检查空字段?

【讨论】:

  • 终于找到了答案!
  • 非常感谢 Zac L,我更正了脚本,他们开始工作了! :)
【解决方案2】:

这里需要上一堂形式逻辑的课。
严格来说,您不能根据间接观察说“trim() 不起作用”。

只有直接(并且可复制!)验证才能成为此类声明的原因。

如果你碰巧在调用trim() 后检查了它的结果,你可以责怪这个函数。
否则,您必须调试您的代码 才能找到真正的原因。
希望这会有所帮助:)

【讨论】:

    【解决方案3】:

    trim 函数只会删除开始和结束的空格... 如果你想从整个字符串中删除空格,那么你可以使用 str_replace() 函数..

    $artcl_id = str_replace(" ","",$artcl_id);
    

    同样,这可以应用于您的所有领域..​​.

    【讨论】:

      【解决方案4】:

      尝试trim($var,"\s") 可能结束字符不是“”但它是“\s”

      【讨论】: