Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    PHP e variabile JS. Gestione della risoluzione dello schermo.

    Ciao ragazzi

    Ho fatto un piccolo script per la gestione del layout in base alla risoluzione dello schermo.

    Eccovi il codice:
    codice:
    <?php
    $larghezza_schermo= "<script language=\"JavaScript\">document.write(screen.width)</script>";
    echo "Larghezza schermo = $larghezza_schermo";
    if ($larghezza_schermo>=1080) $numero_colonne=5;
    if ($larghezza_schermo<1080) $numero_colonne=4;
    if ($larghezza_schermo==800) $numero_colonne=3;
    echo "Numero colonne = $numero_colonne";
    ?>
    Il problema è che in tutti in casi $numero_colonne è sempre uguale a 4.
    Come mai?
    Dove sbaglio?

    Tra le altre cose ho una larghezza della risoluzione di 1280 e viene inserita correttamente nella variabile $larghezza_schermo...

    Aspetto vostri consigli

    Grazie

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Devi renderti conto che il codice php viene eseguito prima del codice javascript, quindi tutta quella roba cosi' come l'hai scritta non ha senso.

    http://www.php.net/manual/en/faq.htm...cript-variable

  3. #3
    Originariamente inviato da bubi1
    Devi renderti conto che il codice php viene eseguito prima del codice javascript, quindi tutta quella roba cosi' come l'hai scritta non ha senso.

    http://www.php.net/manual/en/faq.htm...cript-variable
    Perdonami ma mi sembra strano quello che dici.
    In altre pagine del sito ho inserito codice JS in mezzo al PHP senza problemi...

    E in più in questo caso la variaibile $larghezza_schermo contiene il giusto valore, quindi...

  4. #4
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Non e' una questione di dove lo inserisci, e' una questione di dove viene eseguito.

    Prima viene eseguito il php sul server, e poi al browser viene inviato il risultato del php. Solo a questo punto subentra javascript che interpreta eventuali script presenti nel risultato.

    Di conseguenza php non puo' sapere a priori che variabili ci sono nel javascrip, a meno che non gli vengano passate come qualsiasi altra variabile post/get/cookies..

    La tua variabile $larghezza_schermo contiene del codice javascript che viene eseguito dal browser, per questo a video la vedi. Php pero' non ne ha idea del risultato finale di quella istruzione.

    Nel link che ti ho dato c'e' proprio un esempio su come passare la risoluzione dello schermo da js a php.

  5. #5
    Quell'esempio non lo sto capendo visto anche il fatto che è in inglese.
    Potresti essere così gentile da applicarlo al caso mio?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.