Passare la risoluzione da javascript a php in modo trasparente

angeloulivieri

Utente Attivo
8 Set 2009
71
0
0
Salve,
mi servirebbe che da una pagina web mi trovo la risoluzione del monitor dell'utente e passo questo dato al server (in cui uso php). Come è possibile farlo tramite passaggio invisibile all'utente? Dunque senza usare la GET.
grazie a chiunque sappia rispondere
 

angeloulivieri

Utente Attivo
8 Set 2009
71
0
0
Salva i dati in un cookie che poi leggi con PHP.

Purtroppo non credo che i cookie siano la soluzione migliore nel mio caso. Gli utenti che dovranno accedere al sito sono tantissimi e immagina quanti li avranno disabilitati.

Comunque devo passare dati sulla risoluzione. Il client mi dice la risoluzione monitor e il server passa una specifica pagina css a secodna della risoluzione individuata.
 

angeloulivieri

Utente Attivo
8 Set 2009
71
0
0
Purtroppo non credo che i cookie siano la soluzione migliore nel mio caso. Gli utenti che dovranno accedere al sito sono tantissimi e immagina quanti li avranno disabilitati.

Comunque devo passare dati sulla risoluzione. Il client mi dice la risoluzione monitor e il server passa una specifica pagina css a secodna della risoluzione individuata.

Ho visto che una cosa del genere è possibile farla con i FORM. Passando il dato tramite POST. Tu credi che possa mettere un form prima del tag BODY?
Nell'HEAD insomma. Questo perché a me serve richiamare un foglio di stile tramite questa operazione.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Sinceramente non ho neanche letto il post, comunque probabilmente ci sono anche altri metodi ma molto più macchinosi e complicati. Il punto è che se ho capito bene quello che gli serve lo può fare direttamente con Javascript.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Tanto per citare una soluzione (ma è quanto di più scomodo ci possa essere) puoi sempre reindirizzare l'utente ad una pagina dove vengono passati i dati in GET... questa pagina li salva in una sessione e poi reindirizza alla Home. Il problema è che per le sessioni servono comunuqe i cookie, anche se esistono altri modi di passare il Session ID ad uno script PHP, ma questi sono argomenti troppo fuori dal tema.
 

angeloulivieri

Utente Attivo
8 Set 2009
71
0
0
e se invece utilizzassi Ajax? Credete che possa fare tutto in una sola pagina php? Tipo... rilevo la risoluzione con js e la passo con una richiesta http. Sapete come fare? Ci sono esempi?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Tu sei proprio fissato, eh? Guarda che non è poi la fine del mondo se usi la soluzione tutta con Javascript :D
Comunque non ho mai usato AJAX per una cosa del genere, questi giorni farò qualche prova e ti farò sapere.
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
e se invece utilizzassi Ajax? Credete che possa fare tutto in una sola pagina php? Tipo... rilevo la risoluzione con js e la passo con una richiesta http. Sapete come fare? Ci sono esempi?

se ti preoccupi di tutti quelli che hanno i cookies disabilitati dovresti pensare anche a chi ha disabilitato il supporto per Javascript..:rolleyes:
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
A questo non ci avevo pensato. Quindi, se ci mettiamo a calcolare tutte le possibilità, viene fuori che non puoi fare quello che chiedi. Un consiglio? Meno paranoie! Ormai il 98% degli utenti che navigano nel Web hanno i cookie e Javascript abilitati.
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
A questo non ci avevo pensato. Quindi, se ci mettiamo a calcolare tutte le possibilità, viene fuori che non puoi fare quello che chiedi. Un consiglio? Meno paranoie! Ormai il 98% degli utenti che navigano nel Web hanno i cookie e Javascript abilitati.

e per quel 2% che rimane puoi sempre creare degli alert che ne richiedano l'abilitazione
 

angeloulivieri

Utente Attivo
8 Set 2009
71
0
0
c'avete ragione.. quasi quasi uso javascript e mando i parametri a php tramite variabili di sessione.
X Alessandro: la soluzione "onlyJS" non mi attira perché sto creando un css per ogni risoluzione da 640x480 a 1280x960. Sono 5 file e se faccio tutto con js me li scarica prima tutti sul client (vero?). Invece facendolo fare a php magari la cosa viene risolta lato server e all'utente viene mandato solo un file css.
Che ne dite?

P.S. Mica sapete dove posso trovare un bello script che mi faccia questa cosa con le sessioni? Quasi quasi me lo cerco.. l'avranno fatta in tanti questa cosa.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
da quello che so io (poco) con js, che è quello che ti legge la risoluzione, non puoi creare sessioni ma solo cookie.
ma puo darsi che sbagli.

io, sto ceranco di fare quello che fai tu, avrei pensato di fare una pagina index.htm con il js che legge la risolizione e forma il cookie con valore dello schermo e vita 0 (si dovrebbe cancellare all'uscita del bw). nella index metto il reindirizzamento alla home.php
nella parte php della home
if(!isset($_cockie['risoluzione']){
carico il css standard
}elseif($_cockie['risoluzione']=1024){
carico il css per 1024
}elseif{ eccetera......

qui, volendo il cookie puo essere messo in sessione per le altre pagine ed eventualmete eliminato (così l'utento non lo vede)
 

angeloulivieri

Utente Attivo
8 Set 2009
71
0
0
ciao
da quello che so io (poco) con js, che è quello che ti legge la risoluzione, non puoi creare sessioni ma solo cookie.
ma puo darsi che sbagli.

No, non credo. Io cookie non ne ho usati proprio. Le variabili di sessione si gestiscono lato server, dunque. Se io faccio in js una funzione del tipo:

function registra_risoluzione() {
res_width = screen.width;
res_height = screen.height;
// DEBUG document.write( res_width + "," + res_height );
var ajax = assegnaXMLHttpRequest();
// DEBUG document.write( ajax );
if(ajax) {
// inizializzo la request
ajax.open( "get" , "prova3.php?x=" + res_width + "&y=" + res_height , true );
// invio la richiesta
ajax.send(null);
}
// ricarico la pagina che ha eseguito la richiesta cosi da rendere
// subito disponibili le variabili di sessione impostate
location.reload();
}// JavaScript Document

e la chiamo dalla pagina html iniziale... Come vedi questa funzione redireziona un output su una seconda pagina php. La pagina php a questo punto, prende il dato inviato tramite GET e dovrebbe poter scrivere nell'head della pagina il css da caricare:


echo "<link href='default.css' rel='stylesheet' type='text/css'/> ";

Senza usare cookie... Quindi in teoria, visto che le variabili di sessione le registra il server a me non importa quello che fa il client.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
dato che sono inesperto di js e inespertissimo di ajax, dovrei fare una pagina index così? la funzione poi la metto nel body?
al posto di prova3.php immagino che dovrò mettere index.php

PHP:
<?php
if(!isset($_SESSION)){
session_start ();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
<script language="Javascript" type="text/javascript">
<!--
function registra_risoluzione() {
res_width = screen.width;
res_height = screen.height;
// DEBUG document.write( res_width + "," + res_height );
var ajax = assegnaXMLHttpRequest();
// DEBUG document.write( ajax );
if(ajax) {
// inizializzo la request
ajax.open( "get" , "prova3.php?x=" + res_width + "&y=" + res_height , true );
// invio la richiesta
ajax.send(null);
}
// ricarico la pagina che ha eseguito la richiesta cosi da rendere 
// subito disponibili le variabili di sessione impostate
location.reload();
}// JavaScript Document
-->
</script>
registra_risoluzione()
<?php
if(!isset($_GET['x'])){
	$_SESSION['risoluzione']=0;//nelle altre pagine se session=0 carico default.css
	echo "<link href='default.css' rel='stylesheet' type='text/css'/> ";
}else($_GET['x']==1024){
	switch($_GET['x']){
		case 1024:
			$_SESSION['risoluzione']=1024;
			echo "<link href='css1024.css' rel='stylesheet' type='text/css'/> ";
		break;
		case 9999://o quello che è, eccetera....
			$_SESSION['risoluzione']=9999;
			echo "<link href='css9999.css' rel='stylesheet' type='text/css'/> ";
		break;
		default://nel caso che non sia compresa
			$_SESSION['risoluzione']=0;
			echo "<link href='default.css' rel='stylesheet' type='text/css'/> ";
		break;
	}
}
?>
</head>
<body>
bla, bla, bla......
</body>
</html>

poi nelle successive al posto di $_GET uso $_SESSION['risoluzione'], o ho capito male?
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Passare solo alcuni parametri a script per CSV PHP 0
D passare valori da database sql a php PHP 1
P Passare contenuto in value. Ajax 1
P Passare i risultati di un foreach in un modal. Help! PHP 2
F Passare variabile a pulsante in finestra modale PHP 2
P jButton1ActionPerformed passare parametri ad altra classe Java 2
Fendo59 Passare parametri con metodo POST a una pagina in un frame PHP 0
A Problema nel passare la variabile PHP 0
I Passare dei parametri in javascript PHP 0
N PDF fpdi passare variabile PHP 4
F Come passare una variabile al modal di bootstrap PHP 1
G Passare path directory in POST PHP 2
F Passare una variabile php dal DB mysql alla pagina PHP 3
M [PHP] Passare variabile di sessione con metodo GET PHP 10
G [Javascript] Passare un valore via querystring Javascript 1
G [PHP] Passare dati tra record PHP 4
L [PHP] Passare variabile PHP 3
AMONRA75 [PHP] passare una variabile in una finestra MODAL PHP 1
P Come passare var1 a pagina php1 e var1,var2 a pagina php2 PHP 5
M Passare una varibile da PHP a Javascript PHP 2
B [PHP] passare valore ad un form su un'altra pagina PHP 4
K [PHP] Paginazione Wordpress: passare variabile PHP 6
F [Javascript] select list concatenate - passare valore dalla prima alla seconda Javascript 7
T [PHP] passare una variabile in una finestra MODAL di bootstrap PHP 3
M [MS Access] Passare i dati di una query da form a report MS Access 3
V Passare a PHP pagina bootstrap creata in HTML PHP 1
A passare parametri ad un file php prima di utilizzare $.get jQuery 1
A [PHP] Passare variabili tra pagine diverse PHP 2
A [Javascript] Passare variabile tra pagine html diverse Javascript 13
D [ASP] Passare in array stringa dinamica Classic ASP 2
K [PHP] Passare valore select PHP 2
andreacata31 [ASP.Net] Passare da Windows Application a sito Web ASP.NET 1
SimooRu [PHP] Non riesco a far passare i dati con i form PHP 4
Rikk73 Passare come argomento in un metodo un parametro della classe istanziata PHP 0
I Passare record Database access a Java Javascript 0
C Passare dal terzo al secondo livello di un dominio su Aruba Domini 2
A Passare due variabili con Javascript. Javascript 1
Marco_88 Passare un valore prima dell'invio del form Ajax 0
A Passare variabili da javascript a PHP PHP 8
A Passare il titolo al posto dell'id PHP 1
gandalf1959 Passare variabili da listener Paypal a un'altra pagina PHP 0
pup3770 Passare parametro ad un'altra pagina in base alla condizione PHP 3
M Passare una funzione a una proprietà di oggetto Javascript 2
W Passare una variabile da una pagina all'altra PHP 25
M Passare coppie di coordinate in una google map Javascript 0
M Passare dati in un array da statement mysqli PHP 2
G Passare da Mysqli a Mysql PHP 1
M [C#] ListView: passare variabile a un LayoutTemplate caricato da codebehind ASP.NET 0
J Riscrivere URL per i post di un blog senza passare ID PHP 13
marino51 passare array da php a javascript PHP 5

Discussioni simili