Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] [jQuery] Zapisywanie danych z formularza
sebekzosw
post 23.09.2009, 22:17:12
Post #1





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


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

Go to the top of the page
+Quote Post
vokiel
post 23.09.2009, 22:38:25
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


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())


--------------------
Go to the top of the page
+Quote Post
sebekzosw
post 24.09.2009, 06:34:02
Post #3





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
vokiel
post 24.09.2009, 07:24:34
Post #4





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
sebekzosw
post 24.09.2009, 07:34:38
Post #5





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


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. });


Ten post edytował sebekzosw 24.09.2009, 07:35:43
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 13:13