Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] [jQuery] Zapisywanie danych z formularza
Forum PHP.pl > Forum > PHP
sebekzosw
Mam zamiar stworzyć skrypt do generowania testów… Już prawie wszystko skończone oprócz funkcji obliczającej oceny i sprawdzającej poprawność odpowiedzi… I jeszcze mam jeden problem mam… http://www.sebektkd.webd.pl/test/index.html



Większość jest zrobione na JavaScript, a wyświetlanie zawartości innej stronie w divach zrobiłem za pomocą jQuery. Oczywiście pytania są losowane z bazy MySQL za pomocą funkcji PHP. Mam problem z zapisywaniem odpowiedzi wysłanych przez użytkownika do np.: sesji.



Otóż ma to wszystko działać, że po naciśnięciu przycisku ‘Następne’ zapisują się do sesji informacje o odpowiedzi i wyświetlić nowo-wylosowane pytanie z bazy. Jak wysłać zawartość strony pobranej do diva bez całej strony i za pomocą przyciska, gdzie znajduje się div do którego pobieram stronę… Nie umiem tego opisać… Jeżeli będziecie potrzebowali kod źródłowy to dajcie znać… Tylko od razu ostrzegam, że to wszystko jest połączone ze Smarty.



Liczę na długie i konkretne odpowiedzi z wyczerpującymi opisami… smile.gif

vokiel
To tak:
1. BLOKADA PPM - to przeżytek, szkoda na to w ogóle czasu i zasobów
2. Raz używasz jQuery, raz nie. Może warto to ujednolicić?
3. Odnośnie Twojego pytania.
Tworzysz przycisk z jakimś unikalnym id, którego kliknięcie wywoła akcję jQuery
[JAVASCRIPT] pobierz, plaintext
  1. $('#przycisk_id').click(function(){});
[JAVASCRIPT] pobierz, plaintext

Funkcja ta pobierze wybrane odpowiedzi, przekaże je do skryptu php używając funkcji jQuery: $.post(), lub $.ajax()
W php odbierasz dane, na początku skryptu dajesz session_start(), zapisujesz do sesji. Odbierasz wyniki i zwracasz je przez echo.
W jQuery, funkcja calback z $.post, lub $.ajax pobiera dane zwrócone przez php i przypisuje je do div'a. Czyli masz jakiś div z unikalnym id, w który wpisujesz odpowiedź z php (funkcja jQuery html())
sebekzosw
Czyli robię przycisk np.:
  1. <input type="button" id="przycisk_id" value="Odpowiedz..." />
i zapisuję go do pliku, gdzie pobierana jest strona z pytaniami?

Ad.1: - wiem - ale to do czegoś innego chce zastosować winksmiley.jpg
Ad.2: Ujednolicić ? hmmm... Jak? Nigdy nie bawiłem się jQuery - wczoraj zacząłem smile.gif

I jeszcze takie pytanie - czy do plików pobieranych przez jQuery mogę dodać meta tagi, pliki z css i js? Bo obecnie plik zawiera samą tabelkę w Smarty smile.gif

http://sebektkd.webd.pl/test/pytanie.html
vokiel
Ja bym to zrobił tak:

  1. <div id="belka">Pytanie <span id="pytania">1/5</span>: Pytanie nr <span id="nr_pytania">1</span></div>
  2. <div id="pytanie">
  3. <!-- tu będą wczytywane pytania -->
  4. </div>
  5. <input type="button" id="przycisk_id" value="Następne" />

Teraz po kliknięciu w button przycisk_id wysyłasz zapytanie do php, i jego odpowiedź (czyli utworzoną listę pytań wpisujesz do diva o id pytanie.

Ad. 2 Tak, np używać w innych funkcjach. Przykładowo:
[JAVASCRIPT] pobierz, plaintext
  1. function rozpocznij_test() {
  2. setTimeout('odliczaj_czas()',1000);
  3. $('#pytania').show();
  4. $('#zakoncz').show();
  5. $('#next').show();
  6. $('#rozpocznij').hide();
  7. get_question();
  8. }
[JAVASCRIPT] pobierz, plaintext


Tak, te pliki mogą być zwykłą stroną html, z css, js i innymi.
sebekzosw
a skrypt do wysyłania formularza za pomocą jQuery taki:

  1. <script type="text/javascript">
  2. $('#przycisk_id').click(function(){
  3. $.post("test.php", $("#testform").serialize());
  4. });
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.