Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

5 Stron V   1 2 3 > »   
Reply to this topicStart new topic
> [JavaScript][PHP] przerzutka id z JS do zmiennej PHP
shpaque
post 29.11.2017, 01:10:24
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


I znów mam zagwostkę i szukałem i nie wiem.

Mam 3 pozycje z rekordami z pliku (w php), do kazdej jest button, ktory otwiera okno modal.
Jak zrobic zeby po kliknieciu buttona i otwarciu okna modal wyswietlic dane ze zmiennymi php (zeby wiedzial z jakiego rekordu)

czyli po polsku

buttony maja odpowiednio id 0,1 i 2 - jak przypisac zmienna w php zalozmy $x, ktora pobierze id z JS aktualnie kliknietego buttona?

  1. <button type="button" id="0" onclick="value(this.id)">...</button>


tu mamy i teraz jak zrobic zeby zmienna php $x przybrala i pobnrala wartosc ID buttona?
Go to the top of the page
+Quote Post
viking
post 29.11.2017, 07:25:41
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Ajax. Zobacz na przykładzie https://prophp.pl/article/29/obsluga_sesji_...szyka_produktow


--------------------
Go to the top of the page
+Quote Post
shpaque
post 29.11.2017, 11:46:32
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


przegladam i jest tego tyle ze juz sie pogubilem gdzie szukac...

  1. <script>
  2. function value(a)
  3. {
  4. var $x = $('a');
  5. }
  6. </script>


to o ten wycinek chodzi?

najgorsze jest to ze w ogole nie reaguje na funkcje (button) jak w onclick dam alert - dziala, ale jak dam w onclick funkcje a w niej alert (dla testu) to nic sie nie dzieje

https://jsfiddle.net/dbep8u92/
Go to the top of the page
+Quote Post
viking
post 29.11.2017, 13:03:12
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


No nie, chodzi o fragment $.ajax({... i zobacz jak są zdarzenia podpinane.


--------------------
Go to the top of the page
+Quote Post
shpaque
post 29.11.2017, 13:17:08
Post #5





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


i nie idzie tego w jakis prostszy sposob (cos takiego) zrobic? bo wtedy z postem musi byc przeladowana strona? rozumiem ze z ajaxem on wrzuca zmienne z butona (jego ID) do jakiegos pliku php, a pozniej trzeba z php to wyciagnac - co w przypadku kiedy 3 osoby na raz klinka button? jak wyswietli prawidlowy modal? Moze ja zle to oipsalem...

  1. <script>
  2. function myFunction(id)
  3. {
  4. $x = document.getElementById(id);
  5. }
  6. </script>
  7. <?php
  8. $x = "<script>function myFunction(id){alert(id);}</script>";
  9. ?>



chodzi mi tylko o to, zeby w modalu zostaly pobrane (bez przeladowania) odpowiednie rekordy z linii z pliku (przez php) - musze tylko przekazac do modala cyfre 0 1 lub 2 przy pomocy buttona (jS)

@edit - albo prosciej:

jak zrobic zeby oncick'iem przypisac do zmiennej php "$x" wartosc id buttona - tylko tyle smile.gif

Ten post edytował shpaque 29.11.2017, 13:13:27
Go to the top of the page
+Quote Post
viking
post 29.11.2017, 13:31:17
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


PHP działa po stronie serwera, JS klienta. Kiedy dochodzi do JS, PHP już dawno zakończyło swoją pracę. Aby to przeładować dynamicznie musisz wysłać nowy request do PHP. Poczytaj jeszcze to https://prophp.pl/advice/show/20/pierwsze_k..._i_czym_jest%3F


--------------------
Go to the top of the page
+Quote Post
shpaque
post 29.11.2017, 14:39:45
Post #7





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


wymiekam juz powoli smile.gif

kiedy tutaj rozwiazalismy ten problem (niestety tematu nie udalo mi sie odnalezc) to bylo cos bardzo prostego nie wiem czy ajaxem czy raczej jquery sie tego nie zrobilo - to byla jedna linijka i wszystko bylo przekazywane...


to moze nie przez ajax i js tylko samym php? tylko wtedy button musialby byc w formularzu, tak? i wtedy getem do modala?

moze zobaczcie strone bedzie wam latwiej zrozumiec http://www.uniwersytet-rodzica.pl/

_________________________


dobra to pomozcie mi w jednym w takim razie

jak zrobic w tej funkcji sesje GET, ktora jako zmienna $_GET['id'] w php pobiore w modalu - mozecie mi to napisac?
Go to the top of the page
+Quote Post
nospor
post 29.11.2017, 14:43:13
Post #8





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




czytam i czytam i juz nie moge... wink.gif

viking poprostu chyba cie nie zrozumial. Oczywiscie, ze ajax tu nie jest potrzebny, mozesz dodac proste zmienne do buttona jak najbardziej, np

<button data-zm1="jakas wartosc1 z php" data-zm2="jakas wartosc2 z php">button 1</button>
<button data-zm1="jakas wartosc1 z php dla drugiego buttona" data-zm2="jakas wartosc2 z php dla drugiego buttona">button 2</button>
itd


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post 29.11.2017, 15:23:57
Post #9





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


no dobra w ta strone mamy smile.gif

a teraz jak zrobic zeby button jakas wartosc przypisal - a nie pobral


kombinuje w ta strone:

  1. <script>
  2. function myFunction(id)
  3. {
  4. var url = document.URL + '?id=' + id;
  5. history.pushState(undefined, '', url);
  6. }
  7. </script>


ale wtedy mimo ze php inclue z plikiem ktory ma geta pobrac jest dalej w kodzie - zostal juz wykonany... i teraz juz dalej nie wiem smile.gif

Ten post edytował shpaque 29.11.2017, 15:25:13
Go to the top of the page
+Quote Post
nospor
post 29.11.2017, 15:38:17
Post #10





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




Dobra, teraz ja sie zgubilem. Przez caly temat chciales w button "pobrac cos z php" teraz cchcesz cos przypisac do php? Nie kumam. Co znaczy przypisac do php? By przypisac cos do php to masz wyslac kolejny request, czy to ajax czy normalnie.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post 29.11.2017, 19:49:15
Post #11





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


to z drugiej strony

chce zeby okno modalu, ktore otwiera sie po klikniecu buttona "pobrało" id tego buttona (wartość odpowiednio 0, 1 lub 2) i przypisało jego wartość do zmiennej php $x bez przeładowania strony - bo ta zmienna ($x) w modalu wyswietlane sa dane z pliku.

moja "mądra" głowa wymyśliła coś takiego, ale to nie przejdzie...

  1. <script>
  2. function myFunction(id)
  3. {
  4. var url = document.URL + '?id=' + id;
  5. history.pushState(undefined, '', url);
  6.  
  7. <?php
  8. $x = $_GET['id'];
  9. ?>
  10. }
  11. </script>


Ten post edytował shpaque 29.11.2017, 19:52:43
Go to the top of the page
+Quote Post
viking
post 29.11.2017, 20:26:34
Post #12





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Już ci powiedziałem jak działa PHP i JS oraz jak to zrobić.


--------------------
Go to the top of the page
+Quote Post
shpaque
post 29.11.2017, 21:25:06
Post #13





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


zobacz moja odpowiedz - co z przeladowaniem strony? co z momentem kiedy kilka osob na raz kliknie w ten button?

moze po prostu nakieruj mnie bardziej...

Ten post edytował shpaque 29.11.2017, 21:26:14
Go to the top of the page
+Quote Post
viking
post 29.11.2017, 21:40:06
Post #14





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


A ja już ci pisałem jakie są fazy pracy client i server side. A co ma być jak kilku kliknie? Normalne zachowanie request response.


--------------------
Go to the top of the page
+Quote Post
shpaque
post 29.11.2017, 22:05:18
Post #15





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


i tak nic nie wiem, no mam sobie ajaxa - i co teraz?

  1. function myFunction(id)
  2. {
  3. $.ajax({
  4. url: './index.php',
  5. method: 'POST',
  6. x: {id: id,}
  7. })
  8. // odpowiedź poprawna, domyślnie kod 200
  9. .done(function(x, textStatus, jqXHR) {
  10. // zmienna data będzie zawierać dane wysłane przez serwer w odpowiedzi
  11. })
  12. // odpowiedź błędna, np. kod 500
  13. .fail(function(jqXHR, textStatus, errorThrown) {
  14. });
  15. }


no i co? mam sobie cos takiego i co mi ma to dac? url sie zgadza, metoda post, zmienna x z ajaxa nagle zmieni sie w zmienna $x php?

Ten post edytował shpaque 29.11.2017, 22:12:43
Go to the top of the page
+Quote Post
viking
post 29.11.2017, 22:18:52
Post #16





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Po stronie PHP odczytujesz standardowo tablicę post i robisz co tam chcesz. Zwracasz odpowiedź do js.


--------------------
Go to the top of the page
+Quote Post
shpaque
post 29.11.2017, 22:20:34
Post #17





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


po stronie php mam
  1. <?php
  2. $x = $_POST['x'];
  3. ?>


i i tak nie dziala.
Go to the top of the page
+Quote Post
viking
post 29.11.2017, 22:31:33
Post #18





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


A co ma działać? Przypisujesz zmienną i tyle. Kurcze, jesteś od 6 lat na forum. Jakieś podstawy wypadało by znać.


--------------------
Go to the top of the page
+Quote Post
shpaque
post 29.11.2017, 22:39:47
Post #19





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


no jestem Viking, ale wysylam wycinki kodu - po to zeby ktos mi powiedzial co jest tu nie tak ze nie dziala... Przeciez gdybym wiedzial co robic nie pisalbym posta. Skoro ajax jest dla mnie malo znany i nic mi nie da czytanie kilogramow poradnikow i tutoriali skoro nie wiem co mam zrobic...

a nie daloby sie getem prosciej, npo cos takiego?

  1. function myFunction(id)
  2. {
  3. r.open('GET', 'index.php?id=' + id, true);
  4. }


i tam daje
  1. $x = $_GET['id'];


ale to tez nie dziala...

...widzisz ze kombinuje w kazda strone jak sie da bo nie wiem co mam robic - to ze mi wyslesz linka z kompendium ajaxa nic mi nie da - nie jestem programista zeby lapac takie rzeczy w locie - trzeba mi jak krowie na miedzy pokazac przyklad step by step co zrobic zeby to dzialalo
Go to the top of the page
+Quote Post
viking
post 29.11.2017, 22:50:16
Post #20





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


W artykule było krok po kroku. Rzucasz jakimś losowym kodem i mamy się domyślać?


--------------------
Go to the top of the page
+Quote Post

5 Stron V   1 2 3 > » 
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: 24.04.2024 - 03:04