Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php, js?] Jak odczytać współrzędne kliknięcia na obrazku?
Forum PHP.pl > Forum > Przedszkole
PawelW
Mam plik gif z wykresem funkcji na którym jest zaznaoczone 5 punków.
Założenie jest takie:
- plik wysyła user po czym przechodzimy do następnego kroku
- zostaje wyświetlony obraz z poprzedniego kroku
- użytkownik ma wskazać te 5 punktów na wykresie a formularz musi pobrać te wartości i przekazać php przez wysłanie formularza.

Pobrane wartości przesyłam do bazy a później robię z tego mapę odnośników na obrazku - z tym sobie już poradzę.

Podsumowując:
Jak wykryć gdzie kliknął urzytkownik i jak zachować te wartości w zmiennych $punk1 $punkt2 ... $punkt5?

-----
Dodam tylko, że o js nie mam żadnego pojęcia więc jeżeli wymaga to użycia js to prosze o podanie kompletnego kodu.

------------
Znalazłem takie coś
http://www.w3.org/TR/html401/struct/objects.html#adef-ismap

Wpisałem kod <A href="czytaj.php"> <IMG src="obrazek.gif" ismap alt="target"></A>
i otrzymuje link http://localhost/czytaj.php?284,225

Teraz mam problem z odczytem tech wartości w skrypcie php bo nie mają nazwy zmiennej.
Zrobiłem to tak <A href="czytaj.php?wsp="> ale url wynikowy jest taki http://localhost/czytaj.php?wsp=?284,225

Więc już prawie ideał oprócz tego pytajnika. Ale pytajnik sobie wytne w php i rozdziele wartości więc już powinno być z górki.

Może jest jeszcze jakiś lepszy sposób?
Łukasz O.
ten obrazek ustalasz jako <input type="image" value="sciezka/do/obrazka_usera"/> - po kliknięciu przekaże parametry kliknięcia

przykład:
  1. <form action="test.php" method="post">
  2. <input type="image" value="cos" src="4.gif"/>
  3. </form>
  4. <pre>
  5. <?php print_r($_POST); ?>

zwraca:
  1. Array
  2. (
  3. [x] => 210
  4. [y] => 164
  5. )
PawelW
Nadal mam pewien problem z tym. Napisałem taki kod w pliku load_img.php:
  1. <?php
  2. $x = $_POST['x'];
  3. $y = $_POST['y'];
  4. $tablica = urldecode($_POST['tablica']); // nie działa tu
  5.  
  6. if (!isset($_POST['punkt']))
  7. {
  8. $punkt = 0;
  9. }
  10. else
  11. $punkt = $_POST['punkt'];
  12. $punkt++;
  13.  
  14. echo 'punkt='.$punkt;
  15. echo '
  16. <form action="load_img.php" method="post">
  17. <input type="image" value="cos" src="Al.gif"/>
  18. <input type="hidden" name="punkt" value="'.$punkt.'"/>
  19. <input type="hidden" name="tablica" value="'.urlencode($tablica).'"/>
  20. </form>';
  21.  
  22.  
  23. $tablica[$punkt-1] = array (=> $x, y=> $y);
  24. echo '<pre>';
  25. print_r ($tablica);
  26. echo '</pre>';
  27. ?>

Ale nie moge przenieść tablicy między jednym a drugim wywołaniem. print_r zawsze zwraca wartość z poprzedniego kroku.
Próbuje przenieść $tablica w polu hidden ale nie przenosi się nic w źródle html pole jest puste value=""

Jak to zrobić? Potrzebuje zebrać wartosci z pięciu kliknięć.
wojtek.zielinski
Zobacz tutaj: http://pl2.php.net/manual/pl/function.serialize.php
lub tutaj: http://pl2.php.net/manual/pl/ref.session.php

Sesje bardziej polecam, bo są bardziej, że tak powiem, "profesjonalne" winksmiley.jpg Tzn. serializowanie tablic i przenoszenie ich "w te i spowrotem" przez formularze wydaje mi się niezbyt dobrą praktyką.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.