Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [AJAX][PHP]System wystawiania opinii na stronie - użyć czysty PHP czy AJAX

Napisany przez: Bednarus3 13.06.2018, 12:15:39

Moja firma organizuje rajd na orientację. Zrobiłem formularz zgłoszeniowy. Chcę teraz zrobić stronę do wystawiania opinii. Na stronie ma się pojawić formularz z dwoma polami: nazwa wprowadzającego oraz treść opinii, a poniżej wcześniej dodane opinie przechowywane w bazie MySQL. Sklecić kod raczej dam radę. Zastanawiam jak to zrobić, żeby było ładnie. Pisać w czystym PHP czy możę AJAX + PHP? Ewentualnie inne rozwiązania. Ale obsługa zapytań do bazy musi być w PHP, bo inaczej nie potrafię.

Napisany przez: nospor 13.06.2018, 12:18:56

Mozesz pisac w samym php mozesz pisac w php i ajax. Jak ci wygodniej. Z ajaxem teoretyczniej powinno to wygladac lepiej ale to tez zalezy od programisty wink.gif

Napisany przez: Bednarus3 13.06.2018, 13:16:35

Myślę, że AJAX + PHP bym ogarnął. Już tam sobie coś napisałem. Na stronie będą dwa zdarzenia:
1. pobranie i wyświetlenie wszystkich komentarzy pod formularzem po załadowaniu strony.
2. dodanie nowej opinii po wysłaniu.
Teraz się zastanawiam, czy wysyłać metodą GET lub POST informację jakie to jest zdarzenie, sprawdzić w PHP, odesłać odpowiedź, czy może zrobić dwa skrypty PHP do obsługi każdego zdarzenia.
Jeszcze jedno pytanie. Czy lepiej całość przetwarzać w PHP, zwrócić gotowy kod html i za pomocą XMLHttpRequest.responseText i DOM wstawić do jakiegoś diva, czy odpowiedź parsować w javascript?

Napisany przez: viking 13.06.2018, 16:12:09

Nie ma znaczenia czy jeden, czy dwa. Możesz dodać parametr do żądania typu zdarzenie: 1 lub zdarzenie:2 i na tej podstawie weryfikować i odsyłać coś innego. Jeśli czujesz się na siłach żeby przeparsować odpowiedź np JSON w JS to możesz tak to zrobić. Poczytaj wcześniej:
https://prophp.pl/advice/show/17/jak_przygotowac_php_do_obslugi_zadan_xhr_json%3F
https://prophp.pl/advice/show/20/pierwsze_kroki_z_ajax._jak_dziala_i_czym_jest%3F
https://prophp.pl/article/18/fetch_api_-_nastepca_xmlhttprequest

I coś podobnego do tego co chcesz osiągnąć: https://prophp.pl/article/29/obsluga_sesji_w_php_oraz_zadan_xhr_na_przykladzie_koszyka_produktow

Napisany przez: Bednarus3 14.06.2018, 13:06:36

Po lekturze artykułów z powyższego postu, wybór padł na AJAX + JSON.
A w jaki sposób umieszczać przeparsowaną zawartość w danym elemencie? Poprzez element.innerHTML czy element.appendChild?

Napisany przez: miccom 24.06.2018, 10:36:39

Ja stosuję takie coś:

  1. $('body').on('click', '#IdKliknietegoButtonu', function() {
  2. var that = $(this);
  3. if ((that.data('inprogress') || 0) == 1) { return false;}
  4. $.ajax({
  5. type : "GET",
  6. dataType : "json",
  7. url : "adresDoPlikuKtoryWykonujeAkcje/"+$(this).attr('num'),
  8. beforeSend: function() {
  9. that.data('inprogress', 1);
  10. },
  11. }).done(function( data ) {
  12. that.data('inprogress', 0);
  13. $("#idDivaDoKtoregoChceszZaladowacTresc_wynikJson").html(data.wynikOdebrnayZJson);
  14. }).fail(function(jqXHR, textStatus, errorThrown) {
  15. that.data('inprogress', 0);
  16. alert(textStatus);
  17. });
  18. });

Napisany przez: SmokAnalog 24.06.2018, 11:01:57

Po co używasz bąbelkowania dla elementu z identyfikatorem?

Napisany przez: miccom 24.06.2018, 12:02:50

No tak napisałem tylko smile.gif
Ja mam tam nazwę diva

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)