Newsgroup: it.comp.www.php
Titolo: passare variabile JavaScript a Php

Non riesco a venire a capo di un problemino...
Dovrei passare i valori della risoluzione video (ottenuti in javascript) a
delle variabili php...c'è un modo per farlo?
Grazie a tutti!

 delle variabili php...c'è un modo per farlo?
Fai un refresh della pagina passandole in GET
[OT]
<script language="javascript">
window.location("
http://www.tuosito.it/pagina.php?width=
" +
window.innerWidth + "&height=" + window.innerHeigth);
</script>
innerWidth e innerHeigth li puoi sostituire con quello che ti serve
esattamente (queste sono le dimensioni del contenuto della finestra del
browser)
[/OT]
Durante l'esecuzione della stessa pagina non li puoi passare perchè il
javascript, essendo client-side, viene eseguito dopo il PHP.
Ludovico Grossi


Io ho fato uno script del genere sul mio sito, 
http://www.itis-volta.it
 ma
poi ha degli effetti collaterali indesiderati. Il pulsante "indietro" di
Internet Explorer" non mi funziona piů. Rimane sempre sulla stessa pagina.
Sapete come ovviare al problema?
Francesco


Ciao
purtroppo questo é un "effetto collaterale" inevitabile (la soluzione
sarebbe andare ad agire direttamente sull'oggetto History, che peró -
ovviamente - é read-only).
Secondo me, peró, potresti evitare di fare il check della risoluzione in
JavaScript (e quindi il reload) in tutte le pagine del tuo sito e farlo solo
sulla prima (cosí tra l'altro otterresti il risultato di rendere piú
difficile la "fuga" dal tuo sito premendo il tasto 'Back' del browser). Alle
altre pagine la risoluzione la passi come variabile nel link (che crei
dinamicamente in PHP - é davvero poco probabile che qualcuno cambi la
propria risoluzione *durante* la visita di un sito...), cosí eviti il
problema del 'Back' nella navigazione delle tue pagine.
Spero di essere stato chiaro...
Ciaups
Silvio Porcellana
Senior Developer
-----------------------------------------------------------------------------------
Trovanome.it - 
http://www.trovanome.it
Se non vuoi essere solo un numero...hai bisogno di un nome!
-----------------------------------------------------------------------------------
HTH
--------------------------------
Inviato via 
http://usenet.libero.it

 Spero di essere stato chiaro...
Non ho capito come passare la risoluzione come variabile nel link. Se per
esempio, un utente non accede al sito dalla prima pagina, come si fa? o
rispedisco alla prima pagina, contro la sua volontà? Io sono alle prime armi
con PHP, quindi anch consiglio sarebbe per me di immenso valore.
Francesco

 Spero di essere stato chiaro...
Non ho capito come passare la risoluzione come variabile nel link. Se per
esempio, un utente non accede al sito dalla prima pagina, come si fa? o
rispedisco alla prima pagina, contro la sua volontà? Io sono alle prime armi
con PHP, quindi anche un piccolo consiglio sarebbe per me di immenso valore.
Francesco


Prova a far apparire il JavaScript che reloada la pagina solo se le
variabili '$width' e '$height' non sono giá settate, qualcosa tipo:
<?php if (! $width) : ?>
  <script language="javascript">
    location.href="/Index.php?&width=" + screen.width + "&height=" +
screen.height;
  </script>
<?php endif; ?>
Poi nei link metti:
  <a href="link.php?width=<?= $width ?>&height=<?= $height ?>">Blah blah</a>
In questa maniera il reload te lo fa solo nella *prima* pagina che
visualizzano del tuo sito (partendo dal presupposto - molto realistico - che
nessuno cambi risoluzione *durante* la navigazione sul tuo sito)
Ciaups.
Silvio Porcellana
Senior Programmer
-----------------------------------------------------------------------------------
Trovanome.it - 
http://www.trovanome.it
Se non vuoi essere solo un numero...hai bisogno di un nome!
-----------------------------------------------------------------------------------


 delle variabili php...c'è un modo per farlo?
Spero ti possa servire, io ho trovato questo in rete e funziona benissimo,
se non fosse che usa un barbatrucco:
<script>
document.write("<img src=\"immagine.php?sh=" + screen.height + "&sw=" +
screen.width + "&sc=" + screen.colorDepth +"\">");
</script>
Questo restituisce la risoluzione e la profondità di colore.
C'è l'inconveniente dell'immagine che il browser cerca e non trova, e quindi
rischi di avere il segnaposto per le immagini (a meno che tu non gli passi
una immagine finta, tipo 1x1 e così risolvie anche quello). Però ripeto è un
pò un trucchetto.
Lex

 con PHP, quindi anche un piccolo consiglio sarebbe per me di immenso
valore.
Bisogna fare una considerazione: non dovresti aver bisogno di rispedirlo da
nessuna parte!
Se ho come risoluzione 1280x1024 posso avere icq da un lato, la barra dei
collegamenti aperta, la finestra non massimizzata... ed avrei il tuo sito
più grande di quanto mi posso permettere.
Perchè non cambi strategia? Così ti costringi a fare versioni del sito
"ottimizzate" per più risoluzioni, e non è una buona cosa.
Non ti conviene usare la lunghezza standard (760 pixel) e basta, oppure una
versione che si adatti alla finestra?
Ludovico Grossi

 sfondare ai bordi.
Io no im farei tanti problemi... a 1024x768 non avanza "troppo" spazio. A
800x600 č perfetto.. e comunque chi ha risoluzioni alte č piů che abituato
ad avere siti con dello spazio che avanza...
Cmq un sito che si adatti alla pagina non č cosě difficile da realizzare!
Almeno, credo sia piů semplice che fare pagine ottimizzate e, sopratutto,
gestirle. Ma questo č un argomento da newsgroup sull'html.
Ludovico Grossi