JavaScript funkcija unutar PHP funkcije poziva se kad god se učita stranica

  • 5 odgovora
  • 4.612 pregleda
JavaScript funkcija unutar PHP funkcije poziva se kad god se učita stranica 26.10.2005. u 10:03 · pre 255 meseci #1
Klikom na link kreće izvršavanje funkcije coverage() koja daje HTML stranicu sa listama gde će onChange u listama pozivati JavaScript funkciju myfunc():

Code:

<?php
function coverage()
{
  ?>
  <script type="text/javascript">
  function myfunc()
  {
    <?php
    global $pg;
    $pg->query("insert into mytab values ('hello world')");
    ?>
  }
  </script>
  <h2>Under constructing...</h2>
  <?php

// ...

}


Međutim, upis u bazu se desi odmah po učitavanju stranice tj. myfunc() je odmah pozvana. Zašto?
Potpis
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
Re: JavaScript funkcija unutar PHP funkcije poziva se kad god se učita stranica 26.10.2005. u 10:28 · pre 255 meseci #2
myfunc uopšte nije pozvana, a upis u bazu se odradi pre nego što se stranica učita, na serveru, pri pozivu coverage funkcije...

Razgraniči šta se gde odvija... prvo se stranica priprema na serveru i izvršava php kod koji priprema kod koji se šalje klijentu, pa tek onda sve to konačno pripremljeno stiže na klijent i prikazuje se i izvršava prema generisanom kodu.

Ako pogledaš generisani kod te stranice...
Code:
...
function myfunc()
{
}
...

Ako negde na klijentu i napraviš poziv funkcije myfunc, baš ništa se neće desiti jer je funkcija prazna.

Ako želiš da napraviš upis u bazu, moraš da pozoveš serversku skriptu koja to može da odradi.
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: JavaScript funkcija unutar PHP funkcije poziva se kad god se učita stranica 26.10.2005. u 10:54 · pre 255 meseci #3
Hvala mnogo, razumeo sam.
Elem, stranica sadrži tabelu i svaki red između ostalog ima listu sa true/false vrednostima. Kada korisnik promeni vrednost u nekoj listi želim da onChange pozove JavaScript funkciju koja će tu promenu upisati u bazu. Je l' to znači da iz nje treba da pozovem server skriptu koja će da upiše u bazu? Prosleđujem parametre GET/POST metodom?
Potpis
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
Re: JavaScript funkcija unutar PHP funkcije poziva se kad god se učita stranica 26.10.2005. u 12:46 · pre 255 meseci #5
Da ne bude zabune... poziv server skripte je po tradiciji zahtev za novom stranicom,... tako to funkcioniše - prosleđivanje formulara uglavnom, nema ni potrebe za javascriptom.

Ovo što nameravaš... da radi na onChange, sigurno ti ne odgovara da ti se otvara nova stranica na prvu izmenu u formularu. Postoji sada mogućnost, popularni AJAX, da stranica ostaje otvorena i da se u hodu radi sinhronizacija sa serverom. Bez toga postoji samo još par polurešenja...
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: JavaScript funkcija unutar PHP funkcije poziva se kad god se učita stranica 26.10.2005. u 13:29 · pre 255 meseci #6
To sa checkbox-om možda i uradim, videću kako se operaterima više sviđa. Verovatno ću dodati button pa kad završe sa izmenama neka pošalju. Mada, obično se uradi jedna izmena u tabeli, pa su predložili rešenje sa onChange.
Sve je to već urađeno u PHP-u, samo dodajem par izmena u kodu, a ne bih da potrošim previše vremena.
Potpis
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme