Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+smarty] formularz smarty
Forum PHP.pl > Forum > PHP
dopelganger
cześć
mam formularz w smarty:

  1. {* form.tpl *}
  2. <form method="post" action="skrypt.php">
  3. <input type="text" name="test" /> <input type="submit" value=" ok " name="submit" />
  4. </form>


i poniżej skrypt.php, w którym chce wyświetlić zmienną z pola "test", i nie działa :/
Próbuje wyświetlić wartość zmiennej na tej samej stronie.

  1. require_once 'libs/Smarty.class.php';
  2. $tpl = new Smarty;
  3.  
  4. if (isset($_POST["submit"])) {
  5. echo $_POST["test"];
  6. }
  7.  
  8. $tpl->display('form.tpl');
vifus
Spróbuj tak:

  1.  
  2. {* form.tpl *}
  3.  
  4. {$tresc}
  5.  
  6. <form method="post" action="skrypt.php">
  7. <input type="text" name="test" /> <input type="submit" value=" ok " name="submit" />
  8. </form>




  1.  
  2. require_once 'libs/Smarty.class.php';
  3. $tpl = new Smarty;
  4.  
  5. if (isset($_POST["submit"])) {
  6. $tresc=$_POST["test"];
  7. }
  8.  
  9. $smarty->assign("tresc",$tresc);
  10. $tpl->display('form.tpl');



dopelganger
Cytat(vifus @ 3.12.2012, 19:47:09 ) *
Spróbuj tak:

  1.  
  2. {* form.tpl *}
  3.  
  4. {$tresc}
  5.  
  6. <form method="post" action="skrypt.php">
  7. <input type="text" name="test" /> <input type="submit" value=" ok " name="submit" />
  8. </form>


  1.  
  2. require_once 'libs/Smarty.class.php';
  3. $tpl = new Smarty;
  4.  
  5. if (isset($_POST["submit"])) {
  6. $tresc=$_POST["test"];
  7. }
  8.  
  9. $smarty->assign("tresc",$tresc);
  10. $tpl->display('form.tpl');


chyba źle wyjasniłem problem,,, chodzi o to, że w szablonie smarty mam formularz, po kliknięciu przycisku submit skrypt php nie widzi przesyłanych zmiennych $_POST
rocktech.pl
Witam.

Masz dostęp do zmiennych globalnych w Smarty.
Daj w szablonie tak.

[SMARTY] pobierz, plaintext
  1. {$smarty.post.test}
[SMARTY] pobierz, plaintext


Polecam jeszcze ...
[SMARTY] pobierz, plaintext
  1. {$smarty.post|print_r}
[SMARTY] pobierz, plaintext
nospor
1) print_r($_POST);
2) Czy to jest jedyny formularz na stronie? Nie masz przypadkiem forma w formie?
dopelganger
Cytat(nospor @ 4.12.2012, 10:32:04 ) *
1) print_r($_POST);
2) Czy to jest jedyny formularz na stronie? Nie masz przypadkiem forma w formie?


forma w formie raczej nie, ale jest jeszcze inny formularz,
formularze includowane są w skrypcie php w zależności od zmiennej $_GET

nospor
Prosiłem o print_r($_POST); Nie ignoruj wypowiedzi osób, które starają ci się pomóc. Muszę wiedzieć jak wygląda sytuacja...
dopelganger
Cytat(nospor @ 4.12.2012, 10:40:47 ) *
Prosiłem o print_r($_POST); Nie ignoruj wypowiedzi osób, które starają ci się pomóc. Muszę wiedzieć jak wygląda sytuacja...


przepraszam,,

tablica jest pusta: Array ( ) 
nospor
Nawet po wysłaniu forma?

Pokaz mi jak wygląda całe wygenerowane źródło strony w przeglądarce
dopelganger
Cytat(nospor @ 4.12.2012, 10:46:17 ) *
Nawet po wysłaniu forma?

Pokaz mi jak wygląda całe wygenerowane źródło strony w przeglądarce



array()

<html>
<head></head>
<body>

//i formularz jak powyżej

</body>
</html>
nospor
To się nie trzyma kupy smile.gif

Wklej proszę dokładnie jak wygląda kod html w źródle przeglądarki. Nie jakiś pseudo kod a dokładnie tak jak to wygląda.
dopelganger
Cytat(nospor @ 4.12.2012, 10:57:14 ) *
To się nie trzyma kupy smile.gif

Wklej proszę dokładnie jak wygląda kod html w źródle przeglądarki. Nie jakiś pseudo kod a dokładnie tak jak to wygląda.


no dobra od początku, a więc tak, mam skrypt index.php:

  1. <?php
  2.  
  3. require_once 'libs/Smarty.class.php';
  4. require_once 'libs/config.php';
  5.  
  6. $tpl = new Smarty;
  7. $tpl->template_dir = 'templates/';
  8. $tpl->compile_dir = 'templates_c/';
  9. $tpl->cache_dir = 'cache/';
  10.  
  11. switch ($_GET["page"])
  12. {
  13. case '':
  14. include 'pages/start.php';
  15. $tpl->display('index.tpl');
  16. break;
  17.  
  18. case 3: // formularz
  19. include 'pages/form.php';
  20. $tpl->display('form.tpl');
  21. break;
  22. }
  23.  
  24. ?>


form.tpl:

  1. <form method="post" action="index.php">
  2. <input type="text" name="test" />
  3. <input type="submit" value="ok" name="submit" />
  4. </form>


w form.php wywołuje skrypt, (dla testu, żeby sprawdzić, dlaczego nie pojawia się nic w $_POST)
  1. if (isset($_POST["submit"])) {
  2. print_r($_POST);
  3. echo 'AAAAAAAAAAAAAAAAAAAAAA'; // <------------- NIE WIDAĆ
  4. }
  5.  


nospor
Po raz trzeci proszę:
Wklej proszę dokładnie jak wygląda kod html w źródle przeglądarki
Jeśli nie rozumiesz o co proszę, to poprostu napisz, ze nie wiesz o co mi chodzi a nie to ignorujesz...
dopelganger
Cytat(nospor @ 4.12.2012, 11:08:15 ) *
Po raz trzeci proszę:
Wklej proszę dokładnie jak wygląda kod html w źródle przeglądarki
Jeśli nie rozumiesz o co proszę, to poprostu napisz, ze nie wiesz o co mi chodzi a nie to ignorujesz...


  1. Array
  2. (
  3. )
  4. <form method="post" action="index.php">
  5. <input type="text" name="test" />
  6. <input type="submit" value="ok" name="submit" />
  7. </form>
  8. </body>
  9. </html>
nospor
Dobra, nieważne. Forma przekazujesz na index.php już bez parametru PAGE, więc ci się kod forma już nie odpala...

czyli nie: action="index.php"
a: action="index.php?page=3"
dopelganger
Cytat(nospor @ 4.12.2012, 11:13:05 ) *
Dobra, nieważne. Forma przekazujesz na index.php już bez parametru PAGE, więc ci się kod forma już nie odpala...

czyli nie: action="index.php"
a: action="index.php?page=3"



a to jednak nie to, ale juz wiem !
strone mam w folderze, na którą ustawiona była inna domena smile.gif
zmieniłem na pełny adres i działa...

dzięki za pomoc
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.