【发布时间】:2014-07-22 20:59:51
【问题描述】:
我正在尝试在我的 codeigniter 站点标题中创建一个搜索表单,但是每次提交表单时,我都会收到 404 错误,提示找不到该页面!我试图创建一个指向测试页面的链接,这给了我同样的错误。
请注意下面我的代码。
查看(站点标题)
<?php echo doctype(); ?>
<html lang="en">
<link href="<?php echo base_url(); ?>styles/style.css" type="text/css" rel="stylesheet"/>
<head>
<title>/title>
<div id="container">
<div id="search">
<?php
echo form_open('search_keyword');
echo form_label("Stumble a search ", "searchfor");
echo form_input("search","search");
echo form_submit("getSearch","Search");
echo form_close(); ?>
</div>
</div>
</head>
</html>
模型(模型搜索)
<?php
class Model_search extends CI_Model {
public function get_results($search_term){
$query = $this->db->query('SELECT embed, title FROM videos WHERE tags LIKE '%$search_term%' order by RAND() LIMIT 1');
return $query->result();
}
}
?>
控制器(site.php)默认控制器
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Site extends CI_Controller {
public function index(){
$this->home();
}
public function home(){
$this->load->model("model_get");
$data["results"] = $this->model_get->getRand();
$this->load->view("site_header");
$this->load->view("site_content", $data);
$this->load->view("site_footer");
}
public function search_keyword()
{
$this->load->model('model_search');
$search_term = $this->input->post('search');
$data['results'] = $this->model_search->get_results($search_term);
$this->load->view('site_header');
$this->load->view('search_content',$data);
$this->load->view('site_footer');
}
}
?>
结果页面(search_content)
<body>
<link href="<?php echo base_url(); ?>styles/style.css" type="text/css" rel="stylesheet"/>
<div id="container">
<div id="intro">
<?php echo heading("Search Results",1);?>
</div>
<div id ="content">
<p>Stumble videos related to <?php echo $search_term; ?> </p>
<?php
foreach ($results as $row) {
$title = $row->title;
$vid = $row->embed;
}
echo heading($title, 3);
echo $vid;
?>
</div>
</div>
</body>
也许我遗漏了一些明显的东西,但我认为这可能与我发布在下面的 .htaccess 文件有关
(.htaccess)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /code/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
【问题讨论】:
标签: php .htaccess codeigniter web