Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][js] jak przypisać zmienną z javascript do zmiennej w php
Forum PHP.pl > Forum > Przedszkole
(BigFan)!
Mam taki oto kod w java script:

  1. <?php
  2. <script type="text/javascript">
  3. <!-- hide script from old browsers
  4.  
  5. function kleszcz(a, b, c)
  6. {
  7.  
  8.  if (confirm("Na pewno chcesz uruchomic' update?")) {
  9.  window.open("jakis_adres");
  10.  
  11.  var data = document.write(Date()); //tu do zmiennej 'data' wpisywana jest 
  12. data klikni&#281;cia przycisku OK w confirm który się pojawia
  13.  
  14.  
  15. //ponizej jest kod za pomocą ktorego cos tam probowalem zrobic:
  16.  
  17.  document.getElementById('date').innerHTML  = data;
  18.  document.getElementById('date_input').value = data;
  19.  }
  20. }
  21. //end hiding contents 
  22. -->
  23. </script>');
  24. ?>


Cały dokument php wygląda tak:

  1. <?php
  2.  
  3. <script> 
  4. <!-- 
  5. tutaj jest skrypt w JavaScript który widzicie powyzej
  6. -->
  7. </script>
  8.  
  9. //odpalana jest funkcja kleszcz() - ona działa poprawnie.
  10.  
  11. $aktualna_data = questionmark.gif; //jak zrobić aby tej zmiennej przypisać wartość zmiennej "var data" z JavaScriptu questionmark.gif 
  12.  
  13. ?>


Dowiedziałem sie, że nalezy zrobić to za pomoca formularza, innerHTML oraz window.document.forms[\'form1\'].submit; gdzie "form1" to nazwa wspomnianego formularza. Ale dalej nie wiem jak to zrobic...
Proszę o pomoc.
siemakuba
Lekko OT: Hm, czy na pewno w JS dobrze przypisujesz datę? Wydaje mi się, że var data = document.write(Date()); wcale nie przypisze zmiennej data wartości aktualnej daty.

Czy na pewno potrzebujesz zrobić taką kombinację? Potrzebujesz to z dokładnością co do sekundy (momeny kliknięcia?

Popatrz, zamiast tak kombinować, możesz przypisać datę do zmiennej php jeszcze przed skryptem JS, potem wykorzystać ją w JS. Bo, jeżeli ktoś nie kliknie, to data i tak nie jest potrzebna, dobrze rozumiem?


  1. <?php
  2. $data = date('d-m-Y');
  3.  
  4. echo '<script type="text/javascript">';
  5. echo 'var data = "'.$data.'"';
  6. echo '</script>';
  7. ?>


pozdr.

P.S. przenoszę na przedszkole i tym samym uzupełniam temat o znaczniki
(BigFan)!
tylko, ze ja koniecznie musze przypisywac datę (dzien,miesiąc,godzina,minuta,sekunda) zmiennej $aktualna_data po kliknięciu na OK w oknie confirm. (chce to zrobić przez wyciągnięcie wartości zmiennej "var data" z JavaScript`u)

Ta data (wpisana do "var data" w JavaScript) musi zostac wpisana w php do zmiennej $aktualna_data, a następnie leci sobie ta wartosc do pewnej tablicy, gdzie zostaje zapamiętana.

Ogólnie chce aby data pobrana w momencie zatwierdzenia confirm byla zapamietana i wyswietlana caly czas. Jesli przyjdzie nowy confirm to ta data ma zostac nadpisana.

Dlatego chce przekazać wartość "var data" z JavaScript do zmiennej $aktualna_data w php. Innej opcji nie ma.

Tu jest jakiś system z formularzem...

Cytat
Hm, czy na pewno w JS dobrze przypisujesz datę? Wydaje mi się, że var data = document.write(Date()); wcale nie przypisze zmiennej data wartości aktualnej daty.

Tak, na pewno.
tomaszdurka
Jeśli chcesz mieć datę z Javascript najpierw musisz ją stworzyć właśnie w skrypcie Javascript a potem wysłać na serwer metdodą GET lub POST.

GET:

  1. <head>
  2.  
  3. function send_time() {
  4. window = window.open('echo_date.php?date=' + new Date());
  5. }
  6. </script>
  7. </head>
  8. <body>
  9. <input type="button" onClick="send_time()" value="Send date" />
  10. </body>
  11. </html>


i potem w echo_date.php przechwycić datę:

  1. <?php
  2. echo $_GET['date'];
  3. ?>


Jeśli chcesz przypisać datę do zmiennej robisz to tak:
  1. zmienna = new Date();

Jeśli chcesz uzyskać poszczególne elementy daty jeszce na poziome Javascript robisz to tak:
  1. date = new Date();
  2. dmy_date date.getDate() + '/' + date.getMonth() + '/' + date.getFullYear());


Pozdrawiam.
Edric
Rzeczywiście - działa:). Ale jak to zrobić, żeby śmigało przez POST?
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.