![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
chciałbym zapisywać ajaxem bardzo prosty formularz:
klient|dataspotkania np: Adam|2017-05-14 Karol|2017-06-02 ze stackoverflow mam działający kod tzn pojawia się zielony komunikat że dane zostały przesłane...ale ten drugi plik nie zapisuje i nie odczytuje mysql. jak w tym drugim pliku zapisującym, pobrać dane (GET? POST?) i utworzyć zapytanie do bazy? mam ten kod:stackoverflow |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Do process.php dane POST i GET przekazuje się jako parametry $.(ajax), w tym przykładzie konkretnie tutaj:
gdzie postForm jest ustawiony wcześniej jako tablica json:
gdzie "name" jest wartością pobraną z inputa "name" z formularza w form.php. Jeśli masz więcej danych, to dodajesz je do tej tablicy:
Cały ten postForm będzie dostępny w process.php tak jakby był przesłany POSTEM, np.: $_POST['imie']. I teraz to co pobrałeś z głównego dokumentu i przekazałeś do process.php przez ajax, musisz w process.php obrobić tak jak to się normalnie w innym miejscu obrabia - zdefiniować SQL itd:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za pomoc, ale jeszcze coś nie działa: obecnie tak to wygląda:
technik.php
technikajax.php
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
if (empty($_POST['pacjent1']
Wysyłasz getem, sprawdzasz post. Wysyłaj jeszcze odpowiednie nagłówki w php dla typu json. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
nie rozumiem. czyli w pliku technik.php wszystko ma być POST a w technikajax.php GET czyli:
![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ma być tak, jak to ustawiasz w type. Ty decydujesz czym wysyłasz.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
czyli zamiast dataType ma być 'text'? 'html'?
co jeszcze jest źle? technik.php
technikajax.php
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie widzę żebyś poprawił cokolwiek o czym była mowa. Do tego zwracasz losowe dane - raz json, zaraz potem zwykłe echo. Nawet jak jest błąd to i tak lecisz bez sensu dalej.
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
sorry viking ale Twoje odpowiedzi są tak enigmatyczne że prowadziłyby mnie do czegokolwiek gdybym był informatykiem, a wtedy nie potrzebowałbym pomocy w dziale przedszkole. nie oczekuję że ktoś mi poprawi cały kod ale powie:
1)co mam ustawić w dataType 2)jak pobrać przesłane zmienne w drugim pliku (technikajax.php) bo obecnie podobno robię to źle: $pacjent1=$_GET['pacjent1']; |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ja ci piszę o type, a ty swoje dataType. Podałem ci linię z ifem, a ty sobie coś innego zmieniasz. Na brak czytania ze zrozumieniem nic nie poradzę niestety.
Jak to nie pomoże to nie wiem: https://prophp.pl/advice/show/17/jak_przygo...dan_xhr_json%3F edit: dodałem kompletny przykład w artykule. Ten post edytował viking 25.05.2017, 12:24:52 -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 556 Pomógł: 40 Dołączył: 20.07.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
to jest źle i jest tego za dużo źle
- poczytaj jak przy pomocy js stworzyć url na zasadzie plik.php?zm1=x&zm2=y dla metody GET lub jak po stronie serwera rozkodować ten co jest bo tez można - poczytaj o json, jak zwracać dane json przy pomocy php oraz jak dostać się do nich już z poziomu js - używaj konsoli przeglądarki (F12) tam masz wszystko co jest wysyłane do serwera i z niego odbierane -> dane nagłówki url etc. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
sorry viking ale Twoje odpowiedzi są tak enigmatyczne że prowadziłyby mnie do czegokolwiek gdybym był informatykiem, a wtedy nie potrzebowałbym pomocy w dziale przedszkole. nie oczekuję że ktoś mi poprawi cały kod ale powie: 1)co mam ustawić w dataType 2)jak pobrać przesłane zmienne w drugim pliku (technikajax.php) bo obecnie podobno robię to źle: $pacjent1=$_GET['pacjent1']; No racja, to w końcu przedszkole. 1. dataType nie zmieniaj. Zostaw tak jak w oryginalnym kodzie 'json' 2. Zmień $_GET na $_POST - dla wyjaśnienia, tam w parametrach $.ajax masz i to właśnie określa metodę, którą ajax będzie przesłany. Napisane jes "POST" czyli dane trzeba pobierać z tablicy $_POST a nie $_GET. Zrób to co kayman napisał - F12 w przeglądarce otwiera okno "developer tools". Wybierz zakładkę "network" albo "sieć" i odśwież swoją stronę. Tam w zakładce "network" pokazują się wszystkie zasoby (pliki) z mnóstwem dodatkowych informacji ładowane z danego adresu. Za każdym razem jak wywołasz swojego ajaxa, na dole tamtej listy powinien pokazać się dodatkowy wiersz z nazwą pliku wołanego ajaxem - "technikajax.php". Jak go klikniesz, to po prawej stronie pojawi się okienko z dodatkowymi informacjami - nagłówkami, treścią itd. Wykorzystaj to, żeby sprawdzić co się dzieje. Na preview będziesz mógł zobaczyć błędy jakie wyskakują w "technikajax.php". Przeanalizuj i jak coś jest jeszcze nie jasne to pisz. Ale pamiętaj, że mimo że to przedszkole, to my z fusów i zdawkowych "nie działa" też nie wywróżymy. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
w konsoli widzę prawidłowo przesyłane wartości:
![]() ale jak je teraz odczytać w php? technik.php:
technikajax.php
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Patrz. Oburzyles się na zwrócenie uwagi ale z podanym linkiem, gdzie masz kompletny przykład jak zrobić poprawnie wymianę danych, nie zapoznales się.
Cały czas tworzysz niepoprawny json. Doklejasz sobie losowo dane do odpowiedzi. Definiujesz funkcję connect której nigdy nie wywołujesz. Dałeś pomógł @bostaf ale i tak zignorowałeś co napisał. Nie sprawdzasz w ogóle odpowiedzi żądania w konsoli. Kod podatny na sql injection. Ten post edytował viking 26.05.2017, 06:43:27 -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
wykorzystałem przykład z podanego linku który kasował rekordy.ja chcę robić update i tak ustawiłem zapytanie. co w tym momencie jest błędne?
index.php
[/php] |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Rzutujesz wszystkie dane będące stringami na int. Nie bindujesz danych do zapytania. Dlaczego nie sprawdzisz w konsoli błędów w końcu? Zwrotnego response?
Ten post edytował viking 26.05.2017, 09:04:51 -------------------- |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
1)czyli zamiast:
powinno być:
czy po prostu:
? 2)mam w odpowiedzi: <b>Parse error</b>: syntax error, unexpected '?' in <b>/opt/lampp/htdocs/a/technikajax.php</b> on line <b>9</b><br /> czyli w linii:
Ten post edytował dentopolis 26.05.2017, 12:48:26 |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
skaldnia, ktora ci podano a masz parse error, wymaga php7
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Stringiem sa domyślnie więc nie musisz rzutować. Potrzebujesz w ogóle to action? Nie kopiuj bezmyślnie kodu.
-------------------- |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
więc mam taki kod i odpowiedź "zaktualizowano 0 rekordów" jako odpowiedź z konsoli:
Ten post edytował dentopolis 26.05.2017, 15:27:53 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 08:32 |