Pomimo czyszczenia POSTa, po kliknięciu F5 przeglądarka pyta o ponowne wysłanie formularza

0

Tak samo jak w tytule, mam sobie stronkę, która ma navbar i główną zawartość, przyciski na navbarze metodą POST robią podmianę pliku głównej zawartości.
Tyle, że pomimo takiego przykładowo kodu:

elseif ($_POST["page"]>=1 && isset($_SESSION['username'])) {
require($_POST["page"].".php");
unset($_POST);
}
i po eleganckiej podmianie głównej zawartości po wciśnięciu F5 wyskakuje okienko z pytaniem o ponowne wysłanie formularza.

Czy czyszczę POSTa w złym momencie?

0

poprzedni request był postem więc klikając f5 przeglądarka chce ponowić poprzedni request a on był postem. Nie ma znaczenia co tam sobie wyczyściłeś bo nie ma to wpływu na dane zapisane przez przeglądarkę. Post nie powinien wyświetlać żadnej strony html, tylko po przetworzeniu odebranych danych powinien być redirect na inną stronę.

0
mr_jaro napisał(a):

poprzedni request był postem więc klikając f5 przeglądarka chce ponowić poprzedni request a on był postem. Nie ma znaczenia co tam sobie wyczyściłeś bo nie ma to wpływu na dane zapisane przez przeglądarkę. Post nie powinien wyświetlać żadnej strony html, tylko po przetworzeniu odebranych danych powinien być redirect na inną stronę.

Mógłbym prosić o jakiś mega prosty przykład?

0

pokaż co chcesz osiągnąć to ci poprawie

0

Chcę osiągnąć prostą podmianę treści części HTML na ten z odpowiedniego buttona

<div class="menu">
  <form method="post" class="form" action="/index3.php">
    <button href="" name="page" value="1" class="link" type="submit">Twoje podsumowanie</button>
    <button href="" name="page" value="2" class="link" type="submit">Wypożycz urządzenie</button>
    <button href="" name="page" value="3" class="link" type="submit">Twoje wypożyczenia</button>
    <button href="" name="page" value="4" class="link" type="submit">Prośby przychodzące</button>
    <button href="" name="page" value="5" class="link" type="submit">Poproś o przekazanie</button>
    <button href="" name="page" value="6" class="link" type="submit">Historia Twoich wypożyczeń</button>
    <button href="" name="page" value="7" class="link" type="submit">Historia urządzeń</button>
    <button href="" name="page" value="8" class="link" type="submit">Dodawanie urządzeń</button>
    <button href="" name="page" value="9" class="link" type="submit">Wypożyczenia firmowe</button>
    <button href="" name="page" value="10" class="link" type="submit">Holandia</button>
    <button href="" name="page" value="11" class="link" type="submit">Potwierdzenia oddania</button>
  </form>

  </div>
  <div class="main">

<?php

if ((!isset($_POST["page"])) && (!isset($_SESSION['username']))) {
    require('welcome.php');
    unset($_POST["page"]);
}
elseif ((isset($_POST["page"])) && (!isset($_SESSION['username']))) {
    echo "Strona została wybrana, ale nie jesteś zalogowany";
    unset($_POST["page"]);
}
elseif ((!isset($_POST["page"])) && (isset($_SESSION['username']))){
    echo "Gratulacje, zalogowałeś się, wybierz stronę";
    unset($_POST["page"]);
}
elseif ($_POST["page"]>=1 && isset($_SESSION['username'])) {
    require($_POST["page"].".php");
    unset($_POST);
}

0
adammo94 napisał(a):

i po eleganckiej podmianie głównej zawartości

No z elegancją to ma to niewiele wspólnego xD

0
serek napisał(a):
adammo94 napisał(a):

i po eleganckiej podmianie głównej zawartości

No z elegancją to ma to niewiele wspólnego xD

Jestem w opór początkujący, bardzo cenię wskazówki i porady, a nie polaczkowate komentarze :)

1

jeśli chcesz wyświetlać treść w zależności od wysłanych danych to rób to getem a nie postem. post służy do wysłania danych na serwer, które zostaną przetworzone i np zapisane do bazy.

0
mr_jaro napisał(a):

jeśli chcesz wyświetlać treść w zależności od wysłanych danych to rób to getem a nie postem. post służy do wysłania danych na serwer, które zostaną przetworzone i np zapisane do bazy.

Super, tego mi było trzeba, już wszystko działa poprawnie, dzięki wielkie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1