Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Utrata zmiennej
adrianozo
post
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Witam wszystkich,

Mam pewien problem, otóż jeśli wyśle formularz za który odpowiada metoda pages() to $nazwa jest tracona, a potrzebna mi jest do zapytania i nie mam pomysłu dlaczego:
  1. <?php
  2. public function page() {
  3. if($_SESSION['login'] != true) {
  4. header('Location: '.rootpatch);
  5. exit();
  6. }
  7. $this->model->smarty->assign("siteTitle", "Podstrony", true);
  8. $help = new classHelpers();
  9. $post = $help->cleanArray($_POST);
  10. $sql = new classMysql();
  11. $this->setTpl('Page');
  12. $strona = $sql->selectAsoc("SELECT `nazwa` FROM `framework_pages`");
  13. $this->model->smarty->assign("dolisty", $strona, true);
  14. }
  15. public function pages() {
  16. if($_SESSION['login'] != true) {
  17. header('Location: '.rootpatch);
  18. exit();
  19. }
  20. $this->model->smarty->assign("siteTitle", "Podstrony", true);
  21. $help = new classHelpers();
  22. $post = $help->cleanArray($_POST);
  23. $sql = new classMysql();
  24. $this->setTpl('Pages');
  25. $nazwa = $post['nazwa'];
  26. //traci $nazwa
  27. $strona = $sql->selectAsoc("SELECT `nazwa`, `tresc_pl`, `tresc_en` FROM `framework_pages` WHERE `nazwa` = '$nazwa'");
  28. $this->model->smarty->assign("dolisty", $strona, true);
  29. if((isset($post['edytuj'])) && (!empty($post['edytuj']))) {
  30. $tresc_pl = $post['tresc_pl'];
  31. $tresc_en = $post['tresc_en'];
  32. $pages = $sql->insert("UPDATE `framework_pages` SET `tresc_pl` = '$tresc_pl', `tresc_en` = '$tresc_en' WHERE `nazwa` = '$nazwa'");
  33. header('Location: '.rootpatch.'main/tresc-podstrony');
  34. }
  35. }
  36. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


A nie traci się przypadkiem dlatego, że następuje tam przekierowanie (tym samym traci wszystko co jest poza sesją i zmiennymi get)?
Go to the top of the page
+Quote Post
adrianozo
post
Post #3





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Już to sprawdzałem i niestety nie to jest powodem utraty zmiennej

Rozwiązane: wystarczyło w formularzu dodać input hidden
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Właśnie to jest powodem utraty zmiennej. Zmienne nie są dostępne pomiędzy kolejnymi żądanami, chyba że je gdzieś zapiszesz (sesja, plik, baza, ukryte pole itd.).
Go to the top of the page
+Quote Post
markonix
post
Post #5





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Ukryte pola (POST) są przesyłane w momencie przekierowania za pomocą header - location?
To ja chyba o czymś nie wiem?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 13:53