Okay, also ich habe gerade angefangen, CodeIgniter letzte Nacht zu lernen und ich bin gerade dabei, den letzten Teil des Tutorials zu beenden, aber ich bekomme eine 404-Seite Fehler nicht gefunden, wenn ich auf das Senden klicken Taste.CodeIgniter Tutorial Fehler auf dem Formular Submit
Hier ist der letzte Teil des Tutorials, wo es Ihnen sagt, ein Formular zu erstellen und die Daten in der Datenbank speichern: http://www.codeigniter.com/user_guide/tutorial/create_news_items.html
Meine URL für das Formular ist http://localhost/ci/index.php/news/create
aber dann, wenn ich die angeklickt Submit-Button, wird die URL http://localhost/ci/index.php/news/localhost/ci/index.php/news/create
seltsam, ich weiß, dass ein Problem mit der Routing-theres, aber ich weiß nicht, die spezifisch.
Hier ist meine Strecke Datei:
$route['news/create'] = 'news/create';
$route['news/(:any)'] = 'news/view/$1';
$route['news'] = 'news';
$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = 'pages/view';
Controller:
class News extends CI_Controller{
public function __construct(){
parent::__construct();
$this->load->model('news_model');
$this->load->helper('url_helper');
}
public function index(){
$data['news'] = $this->news_model->get_news();
$data['title'] = 'News archive';
$this->load->view('templates/header',$data);
$this->load->view('news/index',$data);
$this->load->view('templates/footer',$data);
}
public function view($slug = NULL){
$data['news_item'] = $this->news_model->get_news($slug);
if(empty($data['news_item'])){
show_404();
}
$data['title'] = $data['news_item']['title'];
$this->load->view('templates/header', $data);
$this->load->view('news/view', $data);
$this->load->view('templates/footer');
}
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');
}
}}
Modell:
class News_model extends CI_Model{
public function __construct(){
$this->load->database();
}
public function get_news($slug = FALSE){
if($slug === FALSE){
$query = $this->db->get('news');
return $query->result_array();
}
$query = $this->db->get_where('news',array('slug'=>$slug));
return $query->row_array();
}
public function set_news(){
$this->load->helper('url');
$slug = url_title($this->input->post('title'),'dash',TRUE);
$data = array(
'title' => $this->input->post('title'),
'slug' => $slug,
'text' => $this->input->post('text')
);
return $this->db->insert('news',$data);
}}
Form:
'
' tag fehlt. Prüfen Sie. –bitte laden Sie die Seite neu, ich habe das Snippet in Bild geändert .. danke – flix
Versuchen Sie 'form_open ('news/create');' zu 'form_open (base_url ('news/create'));'. –