CodeIgniter 2.1.0をダウンロードし、CodeIgniter 2.1.0でtutorialに従っています。私はこのURLにフォームを送信しようとすると、URLリダイレクトが機能しないのはなぜですか?
問題がある:
ページはこのURLにリダイレクトされhttp://localhost/CodeIgniter/index.php/news/create
:私はroute.phpを変更する多くの方法が疲れ
http://localhost/CodeIgniter/index.php/news/localhost/CodeIgniter/index.php/news/create
それは動作しません。どうすればこの問題を解決できますか?
route.php
$route['news/create'] = 'news/create';
$route['news/(:any)'] = 'news/view/$1';
$route['news'] = 'news';
$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = 'pages/view';
これは、フォームページのコードである:
public function create()
{
$this->load->helper('form');
$this->load->library('form_validation');
$data['title'] = 'Create a news item';
$this->form_validation->set_rules('title', 'Title', 'required');
$this->form_validation->set_rules('text', 'text', 'required');
if ($this->form_validation->run() === FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('news/create');
$this->load->view('templates/footer');
}
else
{
$this->news_model->set_news();
$this->load->view('news/success');
}
}
Iは、ページがロードされたときときに、フォームページ、以下のコードセグメントが実行されることに気づきますしかし、elseセグメントは決して実行のために変更されませんでした。
if ($this->form_validation->run() === FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('news/create');
$this->load->view('templates/footer');
}
これはフォームページです。特別なものではなく、上記の作成機能を呼び出してください。
<h2>Create a news item</h2>
<?php echo validation_errors(); ?>
<?php echo form_open('news/create') ?>
<label for="title">Title</label>
<input type="input" name="title" /><br />
<label for="text">Text</label>
<textarea name="text"></textarea><br />
<input type="submit" name="submit" value="Create news item" />
</form>
create.phpこれは、フォームページのHTMLです:
<html>
<head>
<title>Create a news item - CodeIgniter 2 Tutorial</title>
</head>
<body>
<h1>CodeIgniter 2 tutorial</h1><h2>Create a news item</h2>
<form action="localhost/CodeIgniter/index.php/news/create" method="post" accept-charset="utf-8">
<label for="title">Title</label>
<input type="input" name="title" /><br />
<label for="text">Text</label>
<textarea name="text"></textarea><br />
<input type="submit" name="submit" value="Create news item" />
</form><strong>©2012</strong>
</body>
</html>
そして、私はcreate new item
ボタンを押すと、URLが
http://localhost/CodeIgniter/index.php/news/localhost/CodeIgniter/index.php/news/create
とページに変更しました番組番号404 Pages Not Found
を確認することができますか?私はあなたが 'form_open()'を使っていることを知っていますが、ただユーモアしてHTMLの出力を確認するだけです。 –
は、ニュースのタイトルとニュースの本文を含む新しいニュースをデータベースに挿入することです。 – qkzhu
すべてのフォームは 'action'属性を持っています。私はその値があなたのHTML出力にあるのかどうか尋ねています。 –