У меня есть скрипт CI, установленный на Xampp. В настоящее время я работаю над формами, и когда я нажимаю на submit на html, он ничего не делает.
Я пытался
echo form_open('verifylogin'); echo form_open();
Он показывает исходный код как
<form action="http://::1/codeigniter/verifylogin"> <form action="http://::1/codeigniter/">
соответственно.
Я не понимаю, что это за "http://::1/"
и как избавиться от него?
Если ip-адрес отображается в виде действия или URL- адреса
http://::1/yourproject/
http://127.0.0.1/yourproject/
Скорее всего, вы оставили базовый URL-адрес пустым
/* |-------------------------------------------------------------------------- | 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 script 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: Маршрутизация
CodeIgniter 2: Маршрутизация
Обновить:
С версиями CodeIgniter 3 +:
Когда вы создаете файл, помните, что в file names
и classes
файлов должно быть только первое письмо .
Иногда случается так, что все это может работать в среде localhost с нижним регистром, но когда вы переходите на живой сервер, несколько раз будут бросать ошибки или не отправлять правильные формы и т. Д.
Пример: от контроллеров. Это также относится к моделям
Имя файла: 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's
Перейти в приложение / config / config.php set base_url
$config['base_url'] = 'http://localhost/example/';
И обновите приложение
Тогда ::1
ошибка должна исчезнуть.
Перейдите в раздел 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's 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'); }