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>

这是第二个控制器用户

<?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

也许网址不正确。

    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

可能是您的网址是

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

注意:最初总是需要在重定向到主类“welcome”的路径中提及“index.php”,要删除“index.php”,请将 .htaccess 脚本放入根文件夹,谷歌几个 htaccess 脚本你会找到一个。

于 2017-03-05T13:40:26.373 回答