Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][PHP][JavaScript]Wprowadzanie elementów do divów bez podglądu
BienuSS
post 4.04.2018, 15:45:06
Post #1





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

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


Witam
Mam coś takiego że schufluje mi tablice przy wczytywaniu strony, tworze hashe dla każdego diva i potrzebuje zrobić tak żeby po kliknieciu dopiero pokazały sie obrazki w danym divie, ale żeby użytkownik wczesniej nie mógł zobaczyć który obrazek jest w którym divie.

Dostałem już kiedys taką odpowiedz od @trueblue
Cytat
Hashe są powiązane z obrazkami, tak?
Jeśli tak, to wyświetlasz tylko hashe (które są w sesji), a kiedy ktoś kliknie na jedną z odpowiedzi, to wysyłasz poprzez Ajax jej hash. Na serwerze sprawdzasz, która odpowiedź miała hash i odsyłasz pary hash+źródło obrazka, a jedną z par oznaczasz jako prawidłową. Kiedy dostaniesz odpowiedź, to przypisujesz hashom na stronie obrazki (dodajesz je) i oznaczasz odpowiedzi jako prawidłowe/nieprawidłowe.


I mam tu pytanie bo daje do div id="hash" i mówisz żeby przypisac hashom obrazki ale musze to zrobic przez

Kod
document.getElementById("").innerHTML=" <img src="<?echo $obrazek1;?>">"


ale wtedy i tak mi widac tresc obrazka
Go to the top of the page
+Quote Post
nospor
post 4.04.2018, 15:47:47
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie, powiedziano ci wyraznie, ze obrazek masz pobierac przez AJAX. Gdzie tu masz AJAX?


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

"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
BienuSS
post 4.04.2018, 15:52:20
Post #3





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

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


Kod z ajaxu tutaj nie wrzucałem bo nie do konca to rozumiem, ajax odsyła do kodu php, a ja za pomocą js musze wprowadzić obrazki do diva
Go to the top of the page
+Quote Post
trueblue
post 4.04.2018, 16:01:39
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Do PHP wysyłasz hash/hashe, a odsyłasz źródło obrazka/ów i wstawiasz na stronę.

P.S. Nie łatwiej było kontynuować tamten temat?


--------------------
Go to the top of the page
+Quote Post
BienuSS
post 4.04.2018, 16:09:27
Post #5





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

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


1. zrobic to w php za pomocą if czy jak? chodzi mi o to odsyłanie źródła obrazka dla danego hasha?
2. jak mam wstawić pozniej obrazek bez użycia js do diva ?

Tamten temat zszedł już wgl w inną stronę i stwierdziłem że nawet po samym temacie komuś później moze być łatwiej znaleź odpowiedz
Go to the top of the page
+Quote Post
trueblue
post 4.04.2018, 16:17:26
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


ad.1 Proponowałem Ci, abyś hashe przechowywał w sesji (to jest właśnie dobry powód na kontynuację tamtego wątku). Wtedy klucz elementu to hash, a wartość elementu to źródło obrazka. Nie musisz wtedy stosować żadnych if.
ad.2 A kto powiedział, że bez JS? Skoro będziesz używał Ajax do zapytania o źródła obrazków, to raczej będziesz odpowiedź umieszczał przy pomocy JS.


--------------------
Go to the top of the page
+Quote Post
BienuSS
post 4.04.2018, 16:22:55
Post #7





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

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


Czyli później dane zwracane przez ajax wrzucić do js, i wtedy nie będą widoczne dla użytkownika, tak ?
Go to the top of the page
+Quote Post
trueblue
post 4.04.2018, 16:56:05
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Żądanie Ajax wykonasz w JS, więc nic nie wrzucasz do JS - już będziesz miał te dane.
Raczej powinny być widoczne dla użytkownika, bo przecież po kliknięciu chcesz pokazać obrazki - jaki inny sens miałoby żądanie Ajax?


--------------------
Go to the top of the page
+Quote Post
BienuSS
post 4.04.2018, 17:16:34
Post #9





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

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


Nie rozumiemy sie do końca, dane wychodzące z ajaxa bede miał juz w js ok,
chodzi mi o to żeby użytkownik nie widział w kodzie do którego diva idzie który obrazek
bo będę musiał dać document,getelement byid().innerhtml=" i tu źródło obrazka"
Go to the top of the page
+Quote Post
trueblue
post 4.04.2018, 17:25:50
Post #10





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


To jaki cel ma to żądanie Ajax? Pobrać źródła obrazków i nie pokazywać ich?


--------------------
Go to the top of the page
+Quote Post
BienuSS
post 4.04.2018, 17:33:13
Post #11





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

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


Bo chodzi o to że obrazki pokazują się po nakliknieciu na któryś div czyli w momencie klikniecia wysyła sie ajax, i żeby wczesniej nie było widać w którym divie jest jaki obrazek - przed kliknieciem
Go to the top of the page
+Quote Post
trueblue
post 4.04.2018, 17:39:48
Post #12





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Po raz kolejny piszę.
Na kliknięcie wykonujesz żądanie Ajax wysyłając hash lub kilka hashy, w odpowiedzi otrzymujesz źródło/a obrazków. Mając powiązanie hash<->źródło obrazka, wstawiasz je na stronę. Robisz to w JS.


--------------------
Go to the top of the page
+Quote Post
BienuSS
post 5.04.2018, 14:13:48
Post #13





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

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


z tymi hashami tak: ?
  1. $_SESSION['hash_obrazka'] = źródło obrazka;


a ajax tak:

  1. $('#pobierz').click(function() {
  2.  
  3. $.ajax({
  4. type:"GET",
  5. url:"pobierz.php",

data i datatype chyba nie musze pisać

i w pobierz.php

  1. wprowadzić własnie te zmienne:
  2. $_SESSION['hash_obrazka'] = źródło obrazka;


Mam jeszcze pytanie , bo elementy do diva są losowanie za pomocą shuffle array, czy ludzie moga wykryć pattern na to ?

Ten post edytował BienuSS 5.04.2018, 14:35:13
Go to the top of the page
+Quote Post
trueblue
post 5.04.2018, 14:42:24
Post #14





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


W pobierz.php:
  1. $zrodlo_obrazka = $_SESSION[$hash_obrazka];


Czy ludzie mogą wykryć jak są przestawiane elementy? A czy ludzie mogą trafić 6-tkę w totka?



--------------------
Go to the top of the page
+Quote Post
BienuSS
post 5.04.2018, 14:47:35
Post #15





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

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


A czy w ten sposób
  1. $zrodlo obrazka = $sesion['hash']

nie podpinamy pod zmienna "$zrodloobrazka" danego hasha
nie tak:
  1. $sesion['hash'] = "100.jpg";


Ten post edytował BienuSS 5.04.2018, 14:47:57
Go to the top of the page
+Quote Post
trueblue
post 5.04.2018, 14:50:28
Post #16





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Tak, w ten sposób podpinamy jakąś wartość pod zmienną $zrodlo obrazka.


--------------------
Go to the top of the page
+Quote Post
BienuSS
post 6.04.2018, 21:59:28
Post #17





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

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


Dobra nie ważne ja sie pogubilem juz wszystko ogarniam biggrin.gif

Aktualny kod:

  1. //tworze hashe
  2. $_SESSION[$hash] = $item;


nastepnie JS:
  1. jQuery(function ($)
  2. { // a
  3. $(".area").click(function (event)
  4. {
  5. $.ajax({
  6. type: "GET",
  7. url: "random_case_id.php",
  8. dataType: "json",
  9. success: function(data)
  10. {
  11. case1 =data["case1"];
  12. case2 =data["case2"];
  13. document.getElementById('<?echo $hash;?>').innerHTML = '<img src="'case1'" style="width:80px; height:80px; padding-top:15px;">';
  14. document.getElementById('<?echo $hash2;?>').innerHTML = '<img src="'case2'" style="width:80px; height:80px; padding-top:15px;">';
  15. },
  16. });
  17. });
  18. });
  19.  
  20. </script>


i random_case_id.php
  1. $case1_skin = $_SESSION[$hash];
  2. $case2_skin = $_SESSION[$hash2];
  3.  
  4. $myObj1->case1 = $case1_skin;
  5. $myObj1->case2 = $case2_skin;
  6.  
  7. $myJSON1 = json_encode($myObj1);
  8.  
  9. echo $myJSON1;
  10.  


I problem mam w tym że w pliku random_case_id.php nie widzi mi zmiennych z sesji, próbowałem je już wysyłać w ajaxie:
data: $_SESSION[$hash] = $item, ale to nic mi nie dało

Kombinowałem też z serializacją danych, żeby wrzucić te wszystkie zmienne do tablicy, dać serialize i wrzucić do data, ale tez nie pyklo

Ten post edytował BienuSS 6.04.2018, 23:32:33
Go to the top of the page
+Quote Post
trueblue
post 7.04.2018, 06:54:50
Post #18





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Cytat(BienuSS @ 6.04.2018, 22:59:28 ) *
I problem mam w tym że w pliku random_case_id.php nie widzi mi zmiennych z sesji, próbowałem je już wysyłać w ajaxie:

A startujesz sesję w tym pliku?

Cytat(BienuSS @ 6.04.2018, 22:59:28 ) *
<img src="'case2'" ...

A tu co robisz?



--------------------
Go to the top of the page
+Quote Post
BienuSS
post 8.04.2018, 20:55:50
Post #19





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

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


AD1 tak dałem session_start(); ale czy wtedy nie startuje nowa sesja i zmienne znikają ?

AD2 To wprodadza obrazki do diva żeby sie pokazały, całą animacje bede robił później

UP
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: 24.07.2025 - 21:46