2

こんにちは皆さん、PHPフレームワークの開発はまったく初めてで、このコードを実行できません。xamppを使用している私を助けてください

私のウェルカムコントローラー

<?php

class Welcome extends CI_Controller
{

public function index()
{

    $this->load->view('home');

}
}

ホームビュー

<html>
<head>
<title>CTS - home</title>
<style type="text/css">
.auto-style1 {
    text-align: center;
}
</style>
</head>

<body bgcolor="#C0C0C0" style="height: 226px">

<div class="auto-style1" style="height: 118px">
    <img alt="" height="126" src="<?php echo $this->config->item('base_url'); ?    >/IMG/YUC.png" style="float: left" width="147">
    <center><h1 style="height: 39px; width: 696px">Cooperative Training Management     System</h1></center>
</div>
<br>
<hr>
<div class="auto-style1">
    <a href="<?php echo site_url('') ?>users/login">
    <img alt="YUC Employee" height="410" src="<?php echo $this->config-    >item('base_url'); ?>/IMG/employee.png" width="139">
    </a>
    <img alt="trainer" height="410" src="<?php echo $this->config->item('base_url'); ?    >/IMG/Trainer.png" width="145">
    <a href="<?php echo site_url('') ?>users/login">
    <img alt="Student" height="410" src="<?php echo $this->config->item('base_url'); ?    >/IMG/student.png" width="129">
    </a>
    <h3>Employee&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp        ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Trainer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp    ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Student</h3>
</div>
<hr>
<p align="right">Page generated in <strong>{elapsed_time}</strong> seconds</p>
</body>
</html>

これは2番目のコントローラーユーザーです

<?php

class Users extends CI_Controller 
{

    function login()
    {
        $data['error']=0;
        if($_POST){
            $this->load->model('user');
            $username=$this->input->post('username',ture);
            $password=$this->input->post('password',true);
            $user=$this->user->login($username,$password);
            if(!$user){
                $data['error']=1;
            }else{
                $this->session->set_userdata('userID',$user['userID']);
                redirect(base_url().'home');
            }
        }
        $this->load->view('login');

    }

    function logout()
    {
        $this->session->sess_destory();
        redirect(base_url().'home');
    }
}

これはモデルユーザーです

<?php

class User extends CI_Model 
{

    function __construct()
    {
        parent::__construct();
        $this->load->helper('url');  
    }

    function login($username,$password)
    {

        $where=array(
                        'username'=>$username,
                        'password'=>sha1($password)
                    );
        $this->db->select()->from('s_users')->where($where);
        $querh=$this->db->get();
        return $querh->first_row('array');
    }
}

これがログインビューです

<html>
<head>
<title>CTS - Login</title>
<style type="text/css">
.auto-style1 {
    text-align: center;
}
</style>
</head>

<body bgcolor="#C0C0C0" style="height: 98px">

<div class="auto-style1" style="height: 118px">
    <img alt="" height="126" src="YUC.png" style="float: left" width="147">
    <center><h1 style="height: 113px; width: 696px">Cooperative Training Management     System</h1></center>
</div>
<br>
<hr>
<div class="auto-style1">

<fieldset name="Group1">
    <legend align="left"><h1>Login</h1></legend>
    <?php if($error==1){ ?>
    <p>Your Username / Password did not match.</p>
    <? } ?>
    <form action="<?=base_url()?>users/login" method="post" style="height: 96px">

        <label>Username </label><input name="Text1" type="text">
        <br>
        <label>Password</label> <input name="Password1" type="password">
        <br><br>
        <input name="Login" style="width: 96px" type="submit" value="Login">

    </form>

</fieldset>
</div>
<hr>
<p align="right">Page generated in <strong>{elapsed_time}</strong> seconds</p>
</body>
</html>

.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    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
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    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.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>
4

4 に答える 4

2

URLが間違っている可能性があります。

    http://localhost/projectfolder/index.php/controller/method

あなたの場合:

    http://localhost/yourprojectfolder/index.php/users/login

「projectfolder」、「controller」、「method」を自分のものに置き換えます。ユーザーコントローラーのファイル名が「users.php」であることを確認してください

于 2013-07-31T11:44:04.220 に答える
0

使用する

base_url();

それ以外の

$this->config->item('base_url');

構成パラメーターを保持したい場合は、これを使用します。

$this->config->config['base_url'];

また、これは問題ありません:

<?php echo site_url('') ?>users/login

次のように使用します。

<?php echo site_url('users/login') ?>

最後に、views/home.phpファイルがあるかどうかを確認します

コードに他のエラーが表示されない

それからあなたが持っていることを確認してください:

$config['index_page'] = '';

このhtaccessを使用します:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
于 2013-07-31T09:20:04.320 に答える
0

WAMP サーバーを使用している場合は、「httpd.conf」ファイルを開き、
LoadModule rewrite_module modules/mod_rewrite.so」を検索し、同じ行の先頭にある # which を削除して
、WAMP サーバーを再起動します。

次に、このコードを codeigniter フォルダーにある .htaccess ファイルに追加します (フォルダーのルートに作成しない場合)

RewriteCond %{REQUEST_FILENAME}の RewriteEngine
!-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

于 2014-06-18T09:40:47.213 に答える
0

たとえば、関数を呼び出す URL をチェックします。

Correct URL
http://127.0.0.1/mysites/site1_ci_bootstrap/index.php/welcome/home

あなたのURLは

http://127.0.0.1/mysites/site1_ci_bootstrap/welcome/home

注:最初は、メインクラス「welcome」にリダイレクトするパスに「index.php」を常に言及する必要があります。「index.php」を削除するには、.htaccessスクリプトをルートフォルダーに配置し、いくつかのhtaccessスクリプトをグーグルで検索します。

于 2017-03-05T13:40:26.373 に答える