Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie działa przycisk submit
Forum PHP.pl > Forum > PHP > Object-oriented programming
leewang
Witam,

Chciałem stworzyć formularz z dodawaniem danych do bazy, lecz nie wiem czemu nie działa przycisk submit, po jego naciśnięciu nic się nie dzieje. Wiem że pewnie jest jakiś problem ze ścieżką przy form ale próbowałem wszystkiego, nawet bezpośredniej ścieżki dostępu i dalej nie działa.

Całość realizuję w CI.

Tutaj moje pliki:


1. controllers/seans.php

  1. class Seans extends CI_Controller
  2. {
  3.  
  4. public function __construct()
  5. {
  6. parent::__construct();
  7. $this->load->database();
  8. $this->load->helper('url');
  9. }
  10. function index()
  11. {
  12. $this->load->view('dodaj_film.php');
  13. }
  14.  
  15. function insert_to_db()
  16. {
  17. $this->load->model('site_model');
  18. $this->site_model->insert_to_db();
  19. $this->load->view('pomyslnie_dodano');//loading success view
  20. }
  21. }


2. models/seans_model.php

  1. class Site_model extends CI_Model
  2. {
  3. function insert_into_db()
  4. {
  5. $f1 = $_POST['f1'];
  6. $f2 = $_POST['f2'];
  7. $f3 = $_POST['f3'];
  8. $f4 = $_POST['f4'];
  9. $f5 = $_POST['f5'];
  10. $f6 = $_POST['f6'];
  11. $f7 = $_POST['f7'];
  12. $f8 = $_POST['f8'];
  13. $this->db->query("INSERT INTO `kino`.`seans` (
  14. `id_seansu` ,
  15. `id_klienta` ,
  16. `id_filmu` ,
  17. `sala` ,
  18. `rzad` ,
  19. `miejsce` ,
  20. `data` ,
  21. `czas`
  22. )
  23. VALUES (
  24. 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8'
  25. )");
  26. }
  27. }


3. views/formularz.php

  1. <form action="<?php echo base_url();?>index.php/seans/insert_into_db" method="post">
  2. Field 1 = <input type = 'text' name='f1'><br/><br/>
  3. Field 2 = <input type = 'text' name='f2'><br/><br/>
  4. Field 3 = <input type = 'text' name='f3'><br/><br/>
  5. Field 4 = <input type = 'text' name='f4'><br/><br/>
  6. Field 5 = <input type = 'text' name='f5'><br/><br/>
  7. Field 6 = <input type = 'text' name='f6'><br/><br/>
  8. Field 7 = <input type = 'text' name='f7'><br/><br/>
  9. Field 8 = <input type = 'text' name='f8'><br/><br/>
  10. <input type='submit'>
  11. </form>


4. views/pomyslnie_dodano.php

  1. Film został pomyślnie dodany.


Pozdrawiam
drPayton
CI nie znam, ale na szybko jedna uwaga (nie wiem czy mająca związek z problemem):
"insert_into_db" w akcji formularza a "insert_to_db" w kontrolerze...?
leewang
Pozmieniałem na takie same nazwy ale nic nie dało, możesz mi powiedzieć jak powinien wyglądać nagłówek formularza żeby wywołać funkcję?

<form action="<?php echo base_url();?>index.php/seans/insert_into_db" method="post">

Bo próbowałem już chyba wszystkich sposobów i dalej nie działa.

Np. http://localhost/codeigniter/application/c.../insert_into_db czy też C:\wamp\www\ci\... i ta reszta, albo pokazuje że nie ma takiej strony albo że nie mam dostępu do podanej strony.



____________________________

OK już działa, problem był w $config['base_url'] = 'http://localhost/codeigniter/'; zamiast localhosta miałem ścieżkę C:\www\...
webmaniak
Cytat(leewang @ 16.07.2013, 21:30:09 ) *
OK już działa, problem był w $config['base_url'] = 'http://localhost/codeigniter/'; zamiast localhosta miałem ścieżkę C:\www\...

Od wersji 2.x CI automatycznie wykrywa poprawny adres dla base_url - wystarczy zostawić pusty ciąg.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.