BienuSS
4.04.2018, 15:45:06
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
nospor
4.04.2018, 15:47:47
Nie, powiedziano ci wyraznie, ze obrazek masz pobierac przez AJAX. Gdzie tu masz AJAX?
BienuSS
4.04.2018, 15:52:20
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
trueblue
4.04.2018, 16:01:39
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?
BienuSS
4.04.2018, 16:09:27
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
trueblue
4.04.2018, 16:17:26
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.
BienuSS
4.04.2018, 16:22:55
Czyli później dane zwracane przez ajax wrzucić do js, i wtedy nie będą widoczne dla użytkownika, tak ?
trueblue
4.04.2018, 16:56:05
Żą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?
BienuSS
4.04.2018, 17:16:34
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"
trueblue
4.04.2018, 17:25:50
To jaki cel ma to żądanie Ajax? Pobrać źródła obrazków i nie pokazywać ich?
BienuSS
4.04.2018, 17:33:13
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
trueblue
4.04.2018, 17:39:48
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.
BienuSS
5.04.2018, 14:13:48
z tymi hashami tak: ?
$_SESSION['hash_obrazka'] = źródło obrazka;
a ajax tak:
$('#pobierz').click(function() {
$.ajax({
type:"GET",
url:"pobierz.php",
data i datatype chyba nie musze pisać
i w pobierz.php
wprowadzić własnie te zmienne:
$_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 ?
trueblue
5.04.2018, 14:42:24
W pobierz.php:
$zrodlo_obrazka = $_SESSION[$hash_obrazka];
Czy ludzie mogą wykryć jak są przestawiane elementy? A czy ludzie mogą trafić 6-tkę w totka?
BienuSS
5.04.2018, 14:47:35
A czy w ten sposób
$zrodlo obrazka = $sesion['hash']
nie podpinamy pod zmienna "$zrodloobrazka" danego hasha
nie tak:
$sesion['hash'] = "100.jpg";
trueblue
5.04.2018, 14:50:28
Tak, w ten sposób podpinamy jakąś wartość pod zmienną $zrodlo obrazka.
BienuSS
6.04.2018, 21:59:28
Dobra nie ważne ja sie pogubilem juz wszystko ogarniam

Aktualny kod:
//tworze hashe
$_SESSION[$hash] = $item;
nastepnie JS:
jQuery(function ($)
{ // a
$(".area").click(function (event)
{
$.ajax({
type: "GET",
url: "random_case_id.php",
dataType: "json",
success: function(data)
{
case1 =data["case1"];
case2 =data["case2"];
document.getElementById('
<?echo $hash;?>').innerHTML = '
<img src="'case1'" style="width:80px; height:80px; padding-top:15px;">';
document.getElementById('
<?echo $hash2;?>').innerHTML = '
<img src="'case2'" style="width:80px; height:80px; padding-top:15px;">';
},
});
});
});
i random_case_id.php
$case1_skin = $_SESSION[$hash];
$case2_skin = $_SESSION[$hash2];
$myObj1->case1 = $case1_skin;
$myObj1->case2 = $case2_skin;
$myJSON1 = json_encode($myObj1);
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
trueblue
7.04.2018, 06:54:50
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?
BienuSS
8.04.2018, 20:55:50
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
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.