• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ustawienie flagi w PHP przez AJAX

Object Storage Arubacloud
0 głosów
208 wizyt
pytanie zadane 17 marca 2018 w JavaScript przez Honter Użytkownik (690 p.)

Witam,

Pracuję nad systemem rezerwacji w ramach projektu na zajęcia. Formularz rezerwacji 'pojawia się' nad zawartością strony w ramach <div> zwanego 'overlay', po wciśnięciu przycisku 'Booking' na pasku. Jestem kompletnie nowy jeżeli chodzi o AJAX'a, a sprawa wygląda następująco: Chcę sprawdzić czy zmienna sesyjna 'loggedIn' ma wartość 'true', jeżeli tak to formularz wyświetla się normalnie (do tego momentu wszystko działa). Natomiast jeżeli ma wartość 'false', po wciśnięciu przycisku 'Booking' użytkownik powinien zostać przekierowany na stronę 'sign_in.php'. W jaki sposób powinienem przekazać zmienną/flagę, że przycisk został naciśnięty, do PHP w pliku 'index.php' (tam znajduje się formularz)? Wiem, że wymaga to użycia AJAX'a aby kod JS wysłał dane do PHP.

Funkcja 'on()' wyświetlająca formularz po wciśnięciu przycisku 'Booking' na pasku:

function on() {
    $.post("index.php",{bOpen: true});
    document.getElementById("overlay").style.display = "flex";
}

Moja próba implementacji AJAX'a zakończyła się niepowodzeniem, chociaż ze strony logicznej wszystko wydaje się być ok. Funkcja JS on() ustawia zmienną PHP - $_POST['bOpen'], w pliku "index.php" na wartość true. Następnie formularz rezerwacji jest wyświetlany.

Fragment kodu pliku 'index.php':

<div id="overlay">
  	<div id="booking-form-main">
      <?php
      if ($_SESSION['loggedIn'] == true){

TUTAJ ZNAJDUJE SIĘ KOD FORMULARZA zamknięty w echo

}else if (isset($_POST['bOpen'])){
          header('Location: sign_in.php');
          unset($_POST['bOpen']);
          exit();
        }
      ?>

      <div id="close-x" onclick="off()">
        <img src="images/close-cross2.png" />
      </div>
    </div>
  </div>

W pliku "index.php", kod PHP sprawdza, czy zmienna sesyjna 'loggedIn' ma wartość true i wyświetla formularz (ta część działa). W przeciwnym razie sprawdza czy zmienna $_POST['bOpen'] jest ustawiona, jeżeli tak, to wysyła użytkownika na stronę logowania.

Plik 'functions.js' w którym znajduje się funkcja 'on()' jest na pewno dołączony prawidłowo, gdyż formularz rezerwacji wyświetla się tak jak powinien, kiedy użytkownik jest zalogowany.

Z góry dziękuję za pomoc!

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 303 wizyt
pytanie zadane 2 września 2018 w JavaScript przez Ventrae Nowicjusz (180 p.)
+1 głos
1 odpowiedź 234 wizyt
0 głosów
1 odpowiedź 733 wizyt
pytanie zadane 6 maja 2017 w JavaScript przez Bakr Mądrala (6,850 p.)

92,565 zapytań

141,416 odpowiedzi

319,599 komentarzy

61,950 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...