Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przesyłanie danych JavaScript->PHP
Forum PHP.pl > Forum > Po stronie przeglądarki
tramer1991
Mam duży skrypt JS, który generuje mi długiego string (czasem ponad 8kb). W jaki sposób mogę przesłać tego stringa do PHP?

Z góry dzięki za pomoc blink.gif
gekon
AJAX + POST.
Kwazi
Otóż jest inna możliwość oprócz poza AJAXEM!
Nie mogłem wyjść z podziwu, gdy się z tym zaznajomiłem.

  1. <html>
  2. <script language="JavaScript">
  3. var JSVar = 'To jest moja zmienna JavaScript';
  4. </script>
  5. <?php
  6.  
  7. $MyVar2 = "?><script language=javascript>document.write(JSVar);</script><?php";
  8. $MyVar2 = str_replace("?>", "", $MyVar2);
  9. echo $MyVar2;
  10. ?>
  11. </html>


MIłej zabawy!
eai
Można też poprzez image, i to na kilka sposób.

1. Zwykły image display: none; jako src="plik.php?string=.......">
2. Preloader Img w JS gdzie img mialo by sciezke tak jak wyzej.
pafka
Cytat(Kwazi @ 26.09.2007, 09:59:16 ) *
Otóż jest inna możliwość oprócz poza AJAXEM!
Nie mogłem wyjść z podziwu, gdy się z tym zaznajomiłem.

  1. <html>
  2. <script language="JavaScript">
  3. var JSVar = 'To jest moja zmienna JavaScript';
  4. </script>
  5. <?php
  6.  
  7. $MyVar2 = "?><script language=javascript>document.write(JSVar);</script><?php";
  8. $MyVar2 = str_replace("?>", "", $MyVar2);
  9. echo $MyVar2;
  10. ?>
  11. </html>


MIłej zabawy!


albo sie jeszcze nie obudzilem, albo nie rozumiemTwoich intencji ... ze strony poprzez JavaScript do jakiegos skryptu chcesz przekazac "stringa" .. nie widze tego w Twoim przykladzie ... jedynie widze ze w stronce php generujesz kod JS ktory ma w danym miejscu na stronie wypisac tego "stringa" wygenerowanego przez skrypt na serwerze ...


I widze troche zamieszania ... najpierw przypisujesz do zmiennej $MyVar2 , by w kolejnej linii usuwac '?>'
a to co zrobiles to mozna uproscic do

  1. <html>
  2. <script language="JavaScript">
  3. var JSVar = 'To jest moja zmienna JavaScript';
  4. </script>
  5. <?php
  6.  
  7. $MyVar2 = "<script language=javascript>document.write(JSVar);</script><?php";
  8. echo $MyVar2;
  9. ?>
  10. </html>


dalej patrzac do przegladarki pojdzie finalnie taki kod :

  1. <html>
  2. <script language="JavaScript">
  3. var JSVar = 'To jest moja zmienna JavaScript';
  4. </script>
  5. <script language=javascript>document.write(JSVar);</script><?php
  6. </html>
  7. ?>


wypisanie wczesniej znanej wartosci zmiennej z JS ... i nie rozumiem co ma ci zadzialac otwarty znacznik '<?php' w przegladarce ? przegladarka bedzie Twoim interpreterem php questionmark.gif taki php nie na serwerze a w przegladarce ? jesli to jakies przeczenie to Twoj kod mozna uproscic jeszcze do

  1. <?php
  2. <html>
  3. To jest moja zmienna JavaScript
  4. </html>
  5. ?>



BTW : chociaz <body> by sie przydalo jeszcze gdzies umiescic smile.gif
Lucas4
Ktos tu komplikuje zycie

<?php
$MyVar2 = "<script>var zmienna='KEKE'; document.write(zmienna);</script>";
echo $MyVar2;
?>
Crozin
@Kwazi ale chodzi o przekazanie zmiennej z JS do PHP, a nie z PHP do JS (to ostatnie jest akurat bardzo łatwe)

@trammer1991 piszesz 8kb string - co Ty przesyłasz? tongue.gif Jeżeli jest to tak długi tekst to metody z GETem chyba odpadają (IIRC długość URL jest ograniczona)

Pozostaje POST i jakiś ukryty formularz, który jest automatycznie wysyłany, albo AJAX
Lucas4
Dobra zamknijcie temat. Nie da sie przekazac zmiennej z js do php. Pozostaje AJAX

Mam pytanie na jakiej zasadzie powstało na tej stronie sprawdzenie czy nick jest już zajęty podczas rejestracji

Czy tu także został użyty ajax?
Crozin
Do pola (input) zostało przypisane zdarzenie onblur, w którym to jest wykonywana f-cja, która pobiera zawartość pola (nick) i przy pomocy AJAXa wysyła tą wartość do skryptu PHP, który to z kolei sprawdza czy taki nick już istnieje zwracając jakaś wartość (typu: 1 - istnieje, 0 - nie istnieje)
Później ponownie JS sprawdza wartość zwróconą przez skrypt PHP i w zależności od wartości (1 lub 0) wywala komunikat Nick jest wolny lub Nick jest zajęty
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.