Reputation: 21
hi everyone im new to php frameworks development at all, and i can't make this code run please help me im using xampp
my welcome controller
<?php
class Welcome extends CI_Controller
{
public function index()
{
$this->load->view('home');
}
}
home view
<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   ; Trainer   ; Student</h3>
</div>
<hr>
<p align="right">Page generated in <strong>{elapsed_time}</strong> seconds</p>
</body>
</html>
and this is the second controller users
<?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');
}
}
and this is the model user
<?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');
}
}
and this is the login view
<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>
Upvotes: 2
Views: 18476
Reputation: 316
Maybe url is incorrect.
http://localhost/projectfolder/index.php/controller/method
in ur case:
http://localhost/yourprojectfolder/index.php/users/login
Replace "projectfolder", "controller", "method" with yours. Make sure your file name for Users Controller is "users.php"
Upvotes: 2
Reputation: 1228
check for URL which call functions for e.g
Correct URL
http://127.0.0.1/mysites/site1_ci_bootstrap/index.php/welcome/home
May be your URL is
http://127.0.0.1/mysites/site1_ci_bootstrap/welcome/home
NOTE : Initially always need to mention "index.php" into the path which redirect to main class "welcome", To remove "index.php" put .htaccess script into root folder, google several htaccess script you find one.
Upvotes: 0
Reputation: 164
If you Using WAMP server then open "httpd.conf" file, search
"LoadModule rewrite_module modules/mod_rewrite.so" and remove # which in the start of the same line..
and
restart your WAMP Server
Then add this code to your .htaccess file which is in the codeigniter folder (if not create it in the folder's root):
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Upvotes: 0
Reputation: 49843
use
base_url();
instead of
$this->config->item('base_url');
if you want to keep a config param use this :
$this->config->config['base_url'];
also this is not ok:
<?php echo site_url('') ?>users/login
use it like this:
<?php echo site_url('users/login') ?>
In the end check if you have views/home.php
file
can't see anyother error in your code
then be sure you have:
$config['index_page'] = '';
and use this htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
Upvotes: 0