Подтвердить что ты не робот

IP-адрес отображается в виде действия с CodeIgniter http://:: 1/codeigniter/в html sourcecode

У меня есть CI script, установленный на Xampp. В настоящее время я работаю над формами, и когда я нажимаю на submit на html, он ничего не делает.

Я пробовал

echo form_open('verifylogin');
echo form_open();

Он показывает исходный код как

<form action="http://::1/codeigniter/verifylogin">
<form action="http://::1/codeigniter/">

соответственно.

Я не понимаю, что это за "http://::1/" и как избавиться от него?

4b9b3361

Ответ 1

Если ip-адрес отображается в форме или url

  • http://::1/yourproject/
  • http://127.0.0.1/yourproject/

Скорее всего, вы оставили базовый url blank

/*
|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
|   http://example.com/
|
| WARNING: You MUST set this value!
|
| If it is not set, then CodeIgniter will try guess the protocol and path
| your installation, but due to security concerns the hostname will be set
| to $_SERVER['SERVER_ADDR'] if available, or localhost otherwise.
| The auto-detection mechanism exists only for convenience during
| development and MUST NOT be used in production!
|
| If you need to allow multiple domains, remember that this file is still
| a PHP скрипт and you can easily do that on your own.
|
*/

$config['base_url'] = '';

Теперь в последних версиях codeIgniter не рекомендуется оставлять свой base_url пустым.

  • $config['base_url'] = 'http://localhost/yourproject/';
  • $config['base_url'] = 'http://www.example.com/';

И всегда полезно заканчивать URL с помощью /

Вам может понадобиться создать маршруты для вашей формы здесь

application > config > routes.php

CodeIgniter 3: Routing

CodeIgniter 2: Routing


Update:

С CodeIgniter 3 + версии:

Когда вы создаете файл, помните, что в file names и classes вы должны иметь верхний регистр первая буква ТОЛЬКО.

Иногда случается так, что все это может работать в среде localhost с нижним регистром, но когда вы переходите на живой сервер несколько раз, вы будете бросать ошибки или не отправлять правильные формы и т.д.

Пример: From Controllers Это также относится к Models

Это действительно

Имя файла: Verifylogin.php

<?php

class Verifylogin extends CI_Controller {

    public function __construct() {
       parent::__construct();
    }

    public function index() {

    }

}

Это действительно

Имя файла: Verify_login.php

<?php

class Verify_login extends CI_Controller {

    public function __construct() {
       parent::__construct();
    }

    public function index() {

    }

}

Это не действительный

Имя файла: verifylogin.php

class verifylogin extends CI_Controller {

    public function __construct() {
       parent::__construct();
    }

    public function index() {

    }

}

Это не действительный

Имя файла: Verify_Login.php

class Verify_Login extends CI_Controller {

    public function __construct() {
       parent::__construct();
    }

    public function index() {

    }

}

Codeigniter Doc

Ответ 2

Перейдите в приложение /config/config.php set base_url

$config['base_url'] = 'http://localhost/example/';

И обновите приложение

Ошибка ::1.

Ответ 3

Перейти к System/core/Config.php

Установить конфигурацию в строке 84

public function __construct()
    {
        $this->config =& get_config();

    // Set the base_url automatically if none was provided
    if (empty($this->config['base_url']))
    {
        // The regular expression is only a basic validation for a valid "Host" header.
        // It not exhaustive, only checks for valid characters.
        if (isset($_SERVER['HTTP_HOST']) && preg_match('/^((\[[0-9a-f:]+\])|(\d{1,3}(\.\d{1,3}){3})|[a-z0-9\-\.]+)(:\d+)?$/i', $_SERVER['HTTP_HOST']))
        {
            $base_url = (is_https() ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST']
                .substr($_SERVER['SCRIPT_NAME'], 0, strpos($_SERVER['SCRIPT_NAME'], basename($_SERVER['SCRIPT_FILENAME'])));
        }
        else
        {
            $base_url = 'http://localhost/';
        }

        $this->set_item('base_url', $base_url);
    }


    log_message('info', 'Config Class Initialized');
}