【问题标题】:How To Remove %20 In Codeigniter如何在 Codeigniter 中删除 %20
【发布时间】:2021-08-10 20:24:37
【问题描述】:

我有问题当登录按钮被按下时 url 变成了

http://localhost/library%20/-login/login_aksi

如何摆脱 %20?

error

控制器

函数 login_aksi() {

        if ($sebagai == "admin") {
            $cek = $this->m_data->cek_login('admin', $where)->num_rows();
            $data = $this->m_data->cek_login('admin', $where)->row();
            if ($cek > 0) {
                $data_session = array(
                    'id' => $data->id,
                    'username' => $data->username,
                    'status' => 'admin_login'
                );
                $this->session->set_userdata($data_session);
                redirect(base_url() . 'admin');
            } else {
                redirect(base_url() . 'login?alert=gagal');
            }

查看

<body class="bg-dark">
    <div class="container">
        <br /><br /><br /><br />
        <h3 class="font-weight-normal text-center text-white">SISTEM
            INFORMASI</h3>
        <h2 class="font-weight-normal text-center text-white mb5"><b>PERPUSTAKAAN</b></h2>
        <div class="col-md-4 offset-md-4">
            <div class="card">
                <div class="card-body">
                    <?php
                    if (isset($_GET['alert'])) {
                        if ($_GET['alert'] == "gagal") {
                            echo "<div class='alert alert-danger font-weight-bold textcenter'>LOGIN GAGAL!</div>";
                        } else if ($_GET['alert'] == "belum_login") {
                            echo "<div class='alert alert-danger font-weight-bold textcenter'>SILAHKAN LOGIN TERLEBIH DULU!</div>";
                        } else if ($_GET['alert'] == "logout") {
                            echo "<div class='alert alert-success font-weight-bold textcenter'>ANDA TELAH LOGOUT!</div>";
                        }
                    }
                    ?>
                    <h4 class="font-weight-bold text-center mb-3 mt-3">LOGIN</h4>
                    <!-- validasi error -->
                    <?php echo validation_errors(); ?>
                    **<form method="post" action="<?= base_url() . 'login/login_aksi'; ?>">**
       

【问题讨论】:

  • 看起来您的base_url() 中有一个空格(%20 是一个 url 编码的空格)。
  • URL编码前有空格,先去掉。
  • 同意。在你的 base_url() 函数中使用 trim()
  • 请分享更多细节 - 您尝试过什么来解决问题?你被困在哪里了?
  • 所以我在 action = " = base_url (). 'login / login_action';?>">?抱歉,如果我的问题很奇怪,我还是个初学者

标签: javascript php html codeigniter url


【解决方案1】:

用下面的代码替换你的表单标签

&lt;form method="post" action="&lt;?=base_url()?&gt;login/login_aksi"&gt;

【讨论】:

  • 谢谢回答我试过了,结果还是一样
【解决方案2】:

%20 是一个 URL 编码空间。您可以使用破折号- 或下划线_ 代替空格。

let character = ' '; // Space Character
let charCode = character.charCodeAt(0); // Get The Space's Char Code
let hex = charCode.toString(16).padStart(2,'0'); // Hex Representation (in URL)

let enc = encodeURIComponent(character);

console.log('Character: "' + character + '"');
console.log('Charcode: ' + charCode);
console.log('Hex: ' + hex);
console.log('Enc: ' + enc);

因此,如果您想知道为什么看到%20 而不是空格,那是因为空格的十六进制表示形式放在了网址栏中。如果浏览器没有对该空间进行编码,则会被视为不安全。查看其他 Stack Overflow question,它解释了您是否应该在 URL 中包含空格。

【讨论】:

    【解决方案3】:

    配置/config.php: $config['base_url'] = 'http://localhost/library/';->如果你有类似的内容,请从这一行删除空间。

    【讨论】:

      【解决方案4】:

      用下面的代码替换你的表单标签

      &lt;form method="post" action="&lt;?=base_url()?&gt;login/login_aksi"&gt;

      如果这不起作用,请检查您的配置文件和基本 url,它们必须在 (/) 之前有空格

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-13
        • 1970-01-01
        • 2011-01-18
        • 1970-01-01
        • 1970-01-01
        • 2021-10-16
        • 1970-01-01
        • 2013-09-05
        相关资源
        最近更新 更多