Итак, я создал сайт, используя php и codeigniter, также используя nosql. Все мои страницы работают, кроме одной.
Я проверил все в контроллере приборной панели, и похоже, что он должен работать, но каждый раз, когда я пытаюсь дать ссылку на страницу, я получаю ошибку 404, и это также происходит, когда я печатаю URL-адрес вручную.
Любые идеи о том, что это может быть?
Вот что в приборной панели
public function Result() {
$this->load->helper('url');
$this->load->view("site_header");
$this->load->view("site_navigation");
$this->load->view("content_result");
}
И вот где на него ссылаются с другой страницы в форме
<form action='content_result.php?id=1' method='post' id='quizForm' id='1'>
Код контроллера:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this->home(); }
public function home() {
$this->load->helper('url');
$this->load->view("site_header");
$this->load->view("site_navigation");
$this->load->view("content_home");
}
public function login() {
$this->load->helper('url');
$this->load->view("site_header");
$this->load->view("site_navigation");
$this->load->view("content_login");
}
public function register() {
$this->load->helper('url');
$this->load->view("site_header");
$this->load->view("site_navigation");
$this->load->view("content_register");
}
public function Quiz() {
$this->load->helper('url');
$this->load->view("site_header");
$this->load->view("site_navigation");
$this->load->view("content_Quiz");
}
public function Quizpage() {
$this->load->helper('url');
$this->load->view("site_header");
$this->load->view("site_navigation");
$this->load->view("content_quizpage");
}
public function Result() {
$this->load->helper('url');
$this->load->view("site_header");
$this->load->view("site_navigation");
$this->load->view("content_result");
}
}
routes.php:
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
Посмотреть:
<div id="container">
<h1>Quiz</h1>
<div id="content">
<?php
//Creating random number s
$rid = rand(1,3);
echo $rid;
?>
<?php
if ($rid == 1){
echo "<form class="addinvestmentform" action="<?php echo base_url();?>index.php/Welcome/result" method='post' id='quizForm' id='1'/>
<input type="hidden" name="id" value="1"/>
<ol>
<li>
<h3>What does PHP stand for?</h3>
<div>
<input type='radio' name='answerOne' id='answerOne' value='A' />
<label for='answerOneA'>A) Hyper text markup language</label>
</div>
<div>
<input type='radio' name='answerOne' id='answerOne' value='B' />
<label for='answerOneB'>B) PHP: Preprocessed hypertext</label>
</div>
<div>
<input type='radio' name='answerOne' id='answerOne' value='C' />
<label for='answerOneC'>C) PHP: Hypertext Preprocessor</label>
</div>
</li>
Используйте base_url () и сохраните параметр в скрытом файле
<form class="addinvestmentform" action="<?php echo base_url();?>index.php/controller_name/function" method='post' id='quizForm' id='1'/>
<input type="hidden" name="id" value="1"/>
</form>
And change your view code to
<h1>Quiz</h1>
<?php
//Creating random number s
$rid = rand(1,3);
echo $rid;
?>
<?php
if ($rid == 1){
?>
<form class="addinvestmentform" action="<?php echo base_url();?>index.php/Welcome/result" method='post' id='quizForm' id='1'/>
<input type="hidden" name="id" value="1"/>
<ol>
<li>
<h3>What does PHP stand for?</h3>
<div>
<input type='radio' name='answerOne' id='answerOne' value='A' />
<label for='answerOneA'>A) Hyper text markup language</label>
</div>
<div>
<input type='radio' name='answerOne' id='answerOne' value='B' />
<label for='answerOneB'>B) PHP: Preprocessed hypertext</label>
</div>
<div>
<input type='radio' name='answerOne' id='answerOne' value='C' />
<label for='answerOneC'>C) PHP: Hypertext Preprocessor</label>
</div>
</li>
</form>
<?php } ?>
Других решений пока нет …