0

こんにちは、CodeIgniter フレームワークは初めてです。フォームを含むページを開発しようとしました。

これがビューです


<?php echo form_open('Site/check');?>

User Name: <?php   echo form_input(array('id'=>'Username' ,'name'=>'username' ,'class="input-medium " ')); ?> 
Add User:<?php   echo form_submit('submit','Add User','class="btn btn-primary"');?> 
<?php echo  form_close();?>


これがコントローラー


<?php class Site extends CI_Controller{

  function login() {
      $data['records']="BHOOM!!!";
      $this->load->view('login',$data);
  }

  function check() {
     $this->load->view('showmessage');
  }

}
?>

showmessage は、<h1>タグに hello を含む PHP ページです。すでにグーグルで同様の問題を検索しましたが、解決策はありませんでした

ベースURLは localhost/ci/index.php

エラー

要求されたファイルをロードできません:showmessage.php

.htaccess

RewriteEngine on
RewriteCond $1 !^(index\.php|js|css|img\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
4

3 に答える 3

0

これは、 EllisLabからの直接のチュートリアルです。手順に従うと、フォームが機能するようになります。

よくある間違い、

  1. formヘルパーをロードしていません
  2. htaccess.設定が間違っているか、パスが間違っています (大文字など)。
  3. config.php正しく設定されていません
  4. ビューにデータを渡さない ($this->load->view('some_view', $data);

したがって、エラーメッセージが存在する場合、コミュニティからの助けが得られない場合は、エラーメッセージを提供しませんでした.

デバッグ情報の詳細については、codeigniters プロファイラー ( $this->output->enable_profiler(TRUE);) をオンにして、PHP のネイティブ関数を使用してくださいvar_dump($variable);

エラー報告がに設定されていることを確認E_ALLしてくださいindex.php

編集

あなたのことを確認してください/config/config.php

/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
*/
$config['index_page'] = "";

.htaccessこのファイルをプロジェクトのルートに配置する必要があります。/ci/.htaccess

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /ci/

  # Reenable after getting ssl cert
  # RewriteCond %{HTTPS} off
  # RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

  # Removes access to the system folder by users
  RewriteCond %{REQUEST_URI} ^system.*
  RewriteRule ^(.*)$ /index.php?/$1 [L]

  # When your application folder isn't in the system folder This snippet prevents user access to the application folder
  RewriteCond %{REQUEST_URI} ^application.*
  RewriteRule ^(.*)$ /index.php?/$1 [L]

  # Checks to see if the user is attempting to access a valid file, such as an image or css document, if this isn't true it sends the request to index.php
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
  # If we don't have mod_rewrite installed, all 404's can be sent to index.php, and everything works as normal.
  ErrorDocument 404 /index.php
</IfModule>
于 2013-06-16T11:01:14.460 に答える
0

このタイプのコードを試用に使用してください

見る

<?php 
echo form_open('controllet_name/method_name'); 
form_input(array('id'=>'Username' ,'name'=>'username' ,'class="input-medium " '));
form_close();
?>

コントローラ

()
{
    $name=$this->input->post('username');
echo $name ;
    }
于 2013-06-16T12:39:22.637 に答える