XamppにCIスクリプトがインストールされています。現在私はフォームに取り組んでおり、htmlで送信をクリックしても何もしません。
私は試した
echo form_open('verifylogin');
echo form_open();
それはソースコードに次のように表示されます
<form action="http://::1/codeigniter/verifylogin">
<form action="http://::1/codeigniter/">
それぞれ。
これが何なのかわかりません"http://::1/"
であり、それを取り除く方法は?
IPアドレスがform actionまたは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
に最初の文字のみの大文字を使用する必要があります。
時々起こることは、小文字のローカルホスト環境ではすべてうまくいくかもしれませんが、ライブサーバーに行くときいくつかの時間はエラーをスローするか、正しいフォームなどを提出しない.
例: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's
Application/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');
}
URLから/を削除
前へ:
<li><a href="/<?=site_url('contacts/create')?>">New Contact</a></li>
後:
<li><a href="<?=site_url('contacts/create')?>">New Contact</a></li>