Zmienne z JS w PHP

Odpowiedz Nowy wątek
2006-01-17 20:57
0

Mam taki kodzik

<APPLET CODE="MyAddress.class" NAME="script" MAYSCRIPT WIDTH=0 HEIGHT=0></APPLET>
<SCRIPT>
var addr = document.script.ip();
document.write(addr);
</SCRIPT>

Zmienna addr przechowuje adres ip, ale to nie jest wazne... pytanie jest jak przekazać wartość tej zmiennej do zmiennej php. Myślałem już nad róznymi sposobami. Najłatwiej byłoby przekazac przez adres url, ale to wiaze sie z przeladowaniem stronki, a chcialbym tego uniknac. Myslalem tez nad cookie ale to tez wymaga przeladowania, mozna by jeszcze zapisac to do pliku jakiegos a pozniej odczytac przez php ale za bardzo nie wiem jak to wykonac. Moze znacie jakas dobra i latwa metode?


Pozostało 580 znaków

2006-01-17 23:56
0

najpierw na serwerze wykonuje sie skrypt PHP a dopiero później na kompie klienta JS więc nie da się przekazać zmiennej z JS na serwer bez przeładowania stronki


Pozostało 580 znaków

2006-01-18 00:25
0

Nie wiem do czego ma to potem posłużyć, bo jeżeli jakiś skrypt PHP na podstawie tej zmiennej coś wykona i zwróci wynik o koniec to można to zrobić. Poczytaj sobie o technologii AJAX.

BTW: Ostatnio dzięki (między innymi) właśnie tej technologii JavaScript przeżywa renesans, więc warto się troszkę w nią zagłębić, zwłaszcza że nie jest ona trudna w zrozumieniu a i ma krótką reprezentację w kodzie.

Pospowiedź jak to działa i jak należy to wykonać:

  • JS pobiera adres IP
  • JS nawiązuje połączenie z plikiem PHP przekazując adres IP np. poprzez GET
  • PHP wykonuje operację korzystając z tej zmiennej i zwraca wynik
  • JS otrzymuje wynik działania skryptu PHP i na podstawie wyniku podejmuje dalsze decyzje o swoim działaniu

Ale wszystko zależy co chcesz zrobić, bo może się okazać że i AJAX nie pomoże, więc napisz dokładniej co chcesz zrobić.

Pozostało 580 znaków

2006-01-18 06:00
0

...mozesz dynamicznie stworzyc elementy img lub script (przez funkcje DOM) i w tym momencie przegladarka wykona zapytanie zeby sciagnac zawartosc tych elemntow lub w bardziej zaawansowany sposob skorzystac z obiektu XMLHttpRequest...


Pozostało 580 znaków

2006-01-18 16:36
0

Jak na razie w zadne AJAX'y nie zamierzam sie bawic... jesli sie nie da sie tego zrobic normalnie bez przeladowania to coz trzeba przeladowac :) Jeszcze jedno pytanko... Nie chcialbym przekazywac tego ip metoda GET, wolalbym zapisac to gdzie w pliku na serwerze, dla kazdego usera oddzielny plik... Moglby ktos rzucic jakims prostym kodem ktory zapisywalby do pliku?


Pozostało 580 znaków

2006-01-18 19:06
0

w PHP:

$file = fopen("sciezka/plik", "w");
fwrite($file, $tresc);
fclose($file);

dodaj tylko sobie do tego jakas kontrole bledow


Pozostało 580 znaków

2006-01-18 21:03
0

A czy ja mowie o PHP? :) mi chodzilo o JS, w php to ja smigam :P ale JS to czarna magia :)... (no prawie czarna magia :P)


Pozostało 580 znaków

2006-01-18 22:56
0
jagi napisał(a)

A czy ja mowie o PHP? :) mi chodzilo o JS, w php to ja smigam :P ale JS to czarna magia :)... (no prawie czarna magia :P)

napisalem w PHP bo przy pomocy JS nie da rady zapisac plik na serwer...
JS uruchamia sie i wykonuje po stronie klienta (Client side)...
jedyne co mozesz zrobic to wywolac w JS jakis skrypt PHP ale wtedy mamy przeladowanie stronki...


Pozostało 580 znaków

2006-01-19 04:02
0
ssnake napisał(a)
jagi napisał(a)

A czy ja mowie o PHP? :) mi chodzilo o JS, w php to ja smigam :P ale JS to czarna magia :)... (no prawie czarna magia :P)

napisalem w PHP bo przy pomocy JS nie da rady zapisac plik na serwer...
JS uruchamia sie i wykonuje po stronie klienta (Client side)...
jedyne co mozesz zrobic to wywolac w JS jakis skrypt PHP ale wtedy mamy przeladowanie stronki...

//Kawałek tekstu usunięty - wygłupiłem się, przepraszam ;P

Tak jak pisałem: AJAX na obiekcie XMLHttpRequest lub tak jak pisał kolega piechnat - dynamiczne stworzenie jakiegoś elementu (opierając się na Document Object Model), choć moim zdaniem AJAX daje większe możliwości i jego implementacja jest bardziej intuicyjna niż tworzenie elementów bazując na DOM.

Pozostało 580 znaków

2006-01-19 08:20
0
jagi napisał(a)

Jak na razie w zadne AJAX'y nie zamierzam sie bawic... jesli sie nie da sie tego zrobic normalnie bez przeladowania to coz trzeba przeladowac :) Jeszcze jedno pytanko... Nie chcialbym przekazywac tego ip metoda GET, wolalbym zapisac to gdzie w pliku na serwerze, dla kazdego usera oddzielny plik... Moglby ktos rzucic jakims prostym kodem ktory zapisywalby do pliku?

dobra prgtw możesz mi powiedzieć o co chodzi w wyboldowanym zdaniu, bo ja myślałem, że o zapis pliku na serwerze no ale widze, że się myliłem... :-/


Pozostało 580 znaków

2006-01-19 08:28
0

ssnake mial racje, że chodziło mi o zapis pliku na serwer :) Myślałem, że jest to możliwe z poziomu JS. No cóż w takim razie pozostaje mi tylko przeslac metoda GET lub POST, bo AJAX odpada. Dzieki za pomoc :)


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0