Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/smarty]Formularz w pliku tpl i powrot do pliku PHP
Forum PHP.pl > Forum > Przedszkole
chlebik
Rzecz jest nastepujaca. Uruchamiam skrypt w pliku Pierwszy.php, ktory przekazuje do pliku Drugi.php metoda GET jedna wartosc. Nastepnie w tymze pliku PHP znajduje sie instrukcja warunkowa, ktora w zaleznosci od wartosci zmiennej przekazanej wywoluje jeden z szablonow - plik1.tpl lub plik2.tpl.

Teraz w plikach tpl mam formularz, ktory metoda POST przerzuca wartosci z powrotem do pliku Drugi.php gdzie przed wywolaniem $smarty->display(plik1.tpl) sprawdza zawartosc tablicy $_POST i w zaleznosci od jej zawartosci wykonuje zapisanie do MySQLa danych z przeslanego formularza (to jesli w ogole zostaly podane jakies dane), albo nie. Problem w tym, ze skrypt nie dziala tak jakbym chcial - mianowicie owszem, laduje sie plik TPL, jest formularz, przekazuje on wartosci do pliku Drugi.php jednakze ni w zab nie potrafie stworzyc (tak mysle) instrukcji warunkowej, ktora potrafilaby obsluzyc zapytanie do MySQL.

Oto kod:

  1. <?php
  2. if(!IsSet($_POST['Submit']) || ($_POST['Submit'] != 'Submit'))
  3. {  
  4. // ZEROWANIE ZMIENNYCH W TABLICY $_POST
  5. }
  6. else
  7. {
  8.  
  9. // KOD WSTAWIANIA DO BAZY
  10.  
  11. }
  12. ?>




Oto zas plik TPL:

  1. <form type="post" action="plik2.php" name="formularz">
  2.  
  3. <!-- Kolejne pola formularza -->
  4.  
  5. <input type="submit" value="Submit" name="Submit">
  6. </form>



Z gory dziekuje za pomoc
Chlebik
Zyx
Ustawianie nazwy polu submit nie ma większego sensu, jeśli tych pól nie ma więcej, niż jedno. Istnieje dużo prostsza metoda sprawdzenia, czy formularz został wysłany:

  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST')
  3. {
  4.  // Formularz (a przynajmniej taka mamy nadzieje, ze to on) zostal wyslany
  5.  // sprawdzasz przyslane dane i dodajesz do bazy
  6.  
  7. }
  8. else
  9. {
  10.  // tu co innego
  11. }
  12. ?>


A nawiasem mówiąc, to jaki związek ma Twój problem z systemami szablonów, poza tym, że formularz jest parsowany przez Smarty? smile.gif
Cienki1980
Przenoszę
Systemy szablonów->Przedszkole
chlebik
Przepraszam za brak rozwagi jesli chodzi o umieszczenie posta - zdarza sie smile.gif


Natomiast problem tkwi w tym, ze skrypt dalej nie dziala smile.gif Wyglada to tak jakby warunek w ogole nie byl nigdy spelniony. Napiszcie co moge jeszcze robic zle i nie bijcie za mocno, zem glab.
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.