» »

Javascript in php

Javascript in php

KmelJo ::

Pozdravljeni!

Imam en problem in ga ne znam rešit. Zanima me, ali je možno vrednost spremenljivke v javascript-i uporabiti v php-kodi? In če je, kako?
To pa rabim za to, ker moram fiksirati velikost okna glede na resolucijo.
Res je, da se malce čudno sliši in da je malce čudna zadeva, ampak takšna je zahteva in to maoram narediti!!

Hvala za pomoč vsem, ki bo odg. na to!!! :) :) :)

Alpheus ::

v kakšnem smislu rabiš, a se v PHPju računa kaj dalje?
VI VERI VENIVERSUM VIVUS VICI.

Hair ::

Since Javascript is (usually) a client-side technology, and PHP is (usually) a server-side technology, and since HTTP is a "stateless" protocol, the two languages cannot directly share variables.

It is, however, possible to pass variables between the two.


Zadnja, peta točka: klik

Lp!
Whenever people agree with me, I feel I must be wrong.

Alpheus ::

Hairman direktno ne, lahk pa indirektno. Recimo z Ajax. onresize pošlje javascript request na php file, ki tele podatke obdela, za odgovor pa dobi tisto kaj rabš (verjetno se gre za branje v bazi ali bolj kompleksno računanje z dodatnimi viri).
VI VERI VENIVERSUM VIVUS VICI.

KmelJo ::

ne računa se dalje nič, samo rabim številko.

kopriva ::

Poglej si HairManov odgovor!

Finta je samo v tem, da pač javascript spremenljivko pošlješ preko $_GETa naprej, kjer jo lahko nato PHP zazna ... Iz PHPja na JS pa ne bi smelo biti problema.

Primerček:
-- js
var1 = '1234'

document.location = 'stran.php?var1=' + var1
-- js


To te bo preusmerilo na "stran.php?var1=1234".

Potem pa samo s PHPjem pobereš spremenljivko z $_GET metodo --- > $var1 = $_GET['var1'].

sverde21 ::

In če uporabnik nima vklopljenega JS?
<?php echo `w`; ?>

kopriva ::

Če ima uporabnik vljučen JS ali ne, sploh ni tema tega thread-a ...

KmelJo je želel vedeti kako iz JS spravit spremenjivko v PHP. Iz tega predpostavljam, da seveda računa na to, da JS je vključen.

Če je JS vključen ali ne - to pa je en drug problem. Isto bi se lahko kdo zdaj spomnil in napisal "Kaj pa če server ne podpira PHPja?" ...

:\

sverde21 ::

Ja ne server lahko vplivaš... na uporabnika pa ne moreš, da ima vključen JS...
<?php echo `w`; ?>

R33D3M33R ::

Tedaj pa lahko narediš
<noscript></noscript>
tag in uporabniku omogočiš, da si resolucijo izbere sam. Seveda, velikosti okna ne bo šlo spremeniti, lahko pa boš velikost uporabil na elementih na strani. Drugače pa je koda taka kot jo je napisal kopriva.
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:

kopriva ::

@sverde21
Prav imaš!

Je že naletel kdo na kako statistiko, kolk % uporabnikov ma JS podporo vključeno?

LP

KmelJo ::

Hvala za vse odgovore, vendar to ni rešilo mojih težav, vsaj zaenkrat ne. :)
Probal sem, kar je 'kopriva' napisal, ampak mi ne deluje. :| Vam bom opisal točno, kaj rabim!!!

Problem: treba je narediti fiksno velikost celice znotraj tabele.
...
< td>
< pre ... overflow: auto; width: 100%; height: 300px; font-family: Verdana; font-size: 11px;">
< ? php mosMainBody(); ?>
< /pre>
< /td>
...

Namesto ...height: 300px;... bi moral cifro dobiti glede na velikost okna, ker hoče stranka imeti celotno stran vidno, brez drsnikov. To sem našel, da se da dobiti s pomočjo Javascript, samo kako prenesti to v moj problem, pa nevem. Ali je to sploh možno glede na to, da veste, kaj je potrebno narediti?

----------------------------------------------------------------------------------
var myWidth = 0, myHeight = 0;
if( typeof( window.innerWidth ) == 'number' ) {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
< /script>
--------------------------------------------------------------------------------------

Zgodovina sprememb…

  • spremenil: Tody ()

Sergio ::

document.getElementById('theDamnedPre').style.height=newHeight;

kjer v pre das se id="theDamnedPre", ter imas newHeight v eni JScript variabli.

A to ne dela?
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

KmelJo ::

document.getElementById('theDamnedPre').style.height=newHeight;

To sem napisal v JS v zadnji vrstici.

kjer v pre das se id="theDamnedPre", ter imas newHeight v eni JScript variabli.

to sem napisal: < pre id="theDamnedPre" style=... > --> pod style sem height ven zbrisal! :|

Pa ne dela! Sem mogoče kej narobe napisal??? :\ :\ :\

Zgodovina sprememb…

  • spremenil: KmelJo ()

root987 ::

A lahko ti to na internetu kje objaviš?
"Myths which are believed in tend to become true."
--- George Orwell

KmelJo ::

Ne morem, ker delam v firmi, do serverja pa ne morem dostopat preko javnega IP.:|

Road Runner ::

predvidevam da si tole visino spreminjal kar direktno v javascript fajlu - tega ne mores, ker ko se bere javascript html se ni naloadan in se ni elementa kateremu bi spremenil visino.

ta element pa ze obstaja v window.onload eventu, torej:
window.onload = function()
{
   // izvedi ukaze tu
};
http://dusan.fora.si/blog/ (742617000027)

KmelJo ::

< pre style="border: 0px inset; margin: 0px; padding: 0px; overflow: auto; width: 100%; height: 400px; white-space: normal; font-family: Verdana; font-size: 11px;">
< ?php mosMainBody(); ?>
< /pre>

Odebeljenih 400px je sedaj fiksno definirano, vendar bi jih bilo potrebno določit glede na velikost okna!! Je možno, in če je, kako to narediti??
Gre se za to, da je določen text (primer: @copyright by...) vedno na dnu okna.

kopriva ::

Brez zamere, sam to kar počneš, nima smisla ... Če moraš tako zelo komplicirat in z javascriptom delat velikosti okna, potem si mimo pihnil. Res je, da ne vem, kako si tole načrtoval, toda, če rabiš dinamično širino/višino pač to naredi z relativno veliki tabelami/layerji - torej z odstotki.

Okey, če ne moreš, se opravičujem ... drugače pa nasvet za prihodnje projekte.

KmelJo ::

mene samo zanima, če je to možno ali ne??
ni potrebno z javascipt-o delat, če obstaja kaka druga rešitev, ni problema, samo povejte, kaj je potem potrebno narediti.
Kar se tiče širine, je narejeno s %, če pa višino naredim s %, se bo pa spreminjala: reztezala in krčila, kar pa ni zahteva stranke.

Vem, da je to glupost, ampak če se ne da to naredit, toliko bolše zame!!! :D :D :D

rokpok ::

Poglej si odgovor Racer D-ja.
Rad bi bil pingvin.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

JavaScript zunaj HTML

Oddelek: Izdelava spletišč
111273 (1171) *wolf*
»

JavaScript popup

Oddelek: Izdelava spletišč
92226 (2047) *pety*
»

[JavaScript]window.open()

Oddelek: Izdelava spletišč
171829 (1620) Ziga Dolhar
»

Kako se tole naredi?

Oddelek: Izdelava spletišč
261498 (1198) njok
»

CSS styles/layers help

Oddelek: Programiranje
10842 (740) lordgreg

Več podobnih tem