Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wygasające strony
Forum PHP.pl > Forum > Przedszkole
wojto
Witam,
dane przesylam postem przez formularz i jak przejde na inna strone, a nastepnie cofne, to wyswietla napis, ze "strona wygasła", jak temu zaradzic?
wiem, ze to juz bylo na forum poruszane wiele razy, ale zadno z podanych rozwiazan nie chce dzialac (google chyba cale przejrzalem winksmiley.jpg ), nie wiem co robie nie tak, oto kod (niepotrzebne wycialem):
  1. <?php
  2. require_once ('../../header.php');
  3.  
  4. if (isset($_POST['text'])){ 
  5. $_SESSION['text'] = $_POST['text']; 
  6. }
  7.  
  8. if (isset($_SESSION['text'])){ 
  9. $_POST['text'] = $_SESSION['text']; 
  10. }
  11.  
  12. $_SESSION['text'] = addslashes($_SESSION['text']);
  13.  
  14. $sql_pro = $db->sql_query(&#092;"SELECT * FROM products WHERE name LIKE '%\".$_SESSION['text'].\"%'\")
  15.  
  16. $row_pro = $db -> sql_fetch_array($sql_pro);
  17.  
  18. require_once ('../../footer.php');
  19. ?>


nie chcialbym tego robic za pomoca header("location ...);
ale za pomoca sposobu przedstawionego powyzej
czego to nie dziala
naglowki tez probowalem, chyba wszystkie kombinacje

z gory dzieki za odzew
scanner
Przycisk "wstecz" powinien być usunięty z przeglądarek.

A co ci szkodzi użycie hedera?
Naturalnym kierunkiem ruchu człowieka jest "naprzód" a nie "wstecz". Gdyby być inaczej mielibyśmy oczy na plecach...
wojto
poprostu wydaje mi sie ze takie rozwiazanie jest nieoptymalne
np. w systemie php blue dragon jest wiele stron "przechodnich" na ktorych jest czasami tylko sama funkcja header location, wiec jest to zbedne kilka plikow i moze nieco spowalniac ladowanie strony
podobnie jek bedzie header w tym samym pliku, to tez mi sie wydaje, ze bedzie wysylane nowe zadanie aby wyswietlic ta header;owna strone, ale moze sie myle
ps. czy da sie to zrobic tym sposobem, ktory zaprezentowalem, co jest zle w tym kodzie?
pzdr.
silent
Ja robię to w ten sposób, że po przetworzeniu danych z $_POST przeładowuję stronę, przez co dane z formularza znikają, czyli:

  1. <?php
  2.  
  3. if (!empty($_POST)) {
  4. //przetworzenie danych
  5. header('Location: '.$_SERVER['REQUEST_URI']);
  6. }
  7. else {
  8. include('formularz.html');
  9. }
  10.  
  11. ?>


Ewentualne komunikaty do wyświetlenia czy dane przesłane przez formularz do ponownego wstawienia na wypadek niepoprawnego wypełnienia przekazuję już przez $_SESSION. Wtedy można sobie klikać "Wstecze" i "Odświeżacze" ile się chce i nic złego się nie dzieje.
mkozak
Wszystko ładnie pięknie - poszedłem za twoją radą z przesłaniem informacji poprzez sesję i teraz wogóle nie ma wstecz.

Znaczy - przeglądarka nie tworzy wpisu w historii.

Ktoś umie wytłumaczyć to zjawisko??
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.