Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][PHP]System wystawiania opinii na stronie - użyć czysty PHP czy AJAX
Forum PHP.pl > Forum > Przedszkole
Bednarus3
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ę.
nospor
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
Bednarus3
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?
viking
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_przygo...dan_xhr_json%3F
https://prophp.pl/advice/show/20/pierwsze_k..._i_czym_jest%3F
https://prophp.pl/article/18/fetch_api_-_na..._xmlhttprequest

I coś podobnego do tego co chcesz osiągnąć: https://prophp.pl/article/29/obsluga_sesji_...szyka_produktow
Bednarus3
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?
miccom
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. });
SmokAnalog
Po co używasz bąbelkowania dla elementu z identyfikatorem?
miccom
No tak napisałem tylko smile.gif
Ja mam tam nazwę diva
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-2024 Invision Power Services, Inc.