Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    59

    [PHP] E' possibile un diverso output per diversi browser?

    Il problema è un po' particolare:
    ho un menù con scritte verticali fatto con i css che funziona solo per I.E.;
    con Mozilla questo comando non funziona e avevo pensato di sostituirlo con delle gif in rollover.

    Ho creato un differente css per I.E. e per Mozilla e nella mia pagina ho inserito uno script php che mi rimanda a uno o all'altro a seconda dei browser usati.

    Ora vorrei riuscire a sfruttare i miei css (e quindi quello che mi permette con i.e. di scrivere in verticale), ma se voglio inserire i rollovers per mozilla sono costretto a modificare il codice della mia pagina, modificando quindi la visualizzazione anche per i.e.

    Esiste un modo per rendere l'output diverso a seconda dei browser...ad esempio includendo nella mia pagina un php esterno che mi dia un echo differente a seconda delle situazioni (cioè col css per i.e. e con i rollovers per mozilla)?

  2. #2
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392

    Re: [PHP] E' possibile un diverso output per diversi browser?

    Originariamente inviato da rafvall1
    Il problema è un po' particolare:
    ho un menù con scritte verticali fatto con i css che funziona solo per I.E.;
    con Mozilla questo comando non funziona e avevo pensato di sostituirlo con delle gif in rollover.

    Ho creato un differente css per I.E. e per Mozilla e nella mia pagina ho inserito uno script php che mi rimanda a uno o all'altro a seconda dei browser usati.

    Ora vorrei riuscire a sfruttare i miei css (e quindi quello che mi permette con i.e. di scrivere in verticale), ma se voglio inserire i rollovers per mozilla sono costretto a modificare il codice della mia pagina, modificando quindi la visualizzazione anche per i.e.

    Esiste un modo per rendere l'output diverso a seconda dei browser...ad esempio includendo nella mia pagina un php esterno che mi dia un echo differente a seconda delle situazioni (cioè col css per i.e. e con i rollovers per mozilla)?
    Non è sicura, ma esiste una variabile predefinita che contiene il nome del browser e le sue caratteristiche principale... è
    $_SERVER['HTTP_USER_AGENT']

    per sapere se è mozilla, per esempio, usa le espressioni regolari

    if(preg_match_all("|(.+)(Mozilla)(.+)|iu", $_SERVER['HTTP_USER_AGENT'], $array)
    {
    // se è mozilla
    }
    else
    {
    // se non è mozilla
    }


  3. #3
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392

    Re: [PHP] E' possibile un diverso output per diversi browser?

    Originariamente inviato da rafvall1
    Il problema è un po' particolare:
    ho un menù con scritte verticali fatto con i css che funziona solo per I.E.;
    con Mozilla questo comando non funziona e avevo pensato di sostituirlo con delle gif in rollover.

    Ho creato un differente css per I.E. e per Mozilla e nella mia pagina ho inserito uno script php che mi rimanda a uno o all'altro a seconda dei browser usati.

    Ora vorrei riuscire a sfruttare i miei css (e quindi quello che mi permette con i.e. di scrivere in verticale), ma se voglio inserire i rollovers per mozilla sono costretto a modificare il codice della mia pagina, modificando quindi la visualizzazione anche per i.e.

    Esiste un modo per rendere l'output diverso a seconda dei browser...ad esempio includendo nella mia pagina un php esterno che mi dia un echo differente a seconda delle situazioni (cioè col css per i.e. e con i rollovers per mozilla)?
    Non è sicura, ma esiste una variabile predefinita che contiene il nome del browser e le sue caratteristiche principale... è
    $_SERVER['HTTP_USER_AGENT']

    per sapere se è mozilla, per esempio, usa le espressioni regolari

    if(preg_match_all("|(.+)(Mozilla)(.+)|iu", $_SERVER['HTTP_USER_AGENT'], $array)
    {
    // se è mozilla
    }
    else
    {
    // se non è mozilla
    }


  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    59
    Grazie Pater, ho provato, ma forse faccio un errore nella sintassi:


    codice:
    <?
     if(preg_match_all("|(.+)(Mozilla)(.+)|iu", $_SERVER['HTTP_USER_AGENT'], $array) 
        {
          echo "	   
    	   
    
    [img]rollover/xx.gif[/img] </p>
           
    
    [img]rollover/yy.gif[/img] </p>
           
           ";
        }
       
      else
        {
    	  echo "
           <div id="verticale">
            <div id="menup">
             <div id="nav">
              <ul type="square">   [*]xx[*]yy   		    [/list]
             </div>
            </div>
           </div>
    
    	  ";
    	} 
    ?>
    Non so se ho sbagliato ad inserire o se è sbagliata la sintassi, ma mi dà:
    Parse error: parse error, unexpected '{'

  5. #5
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    ops scusa... metti un'ultima parentesi tonda alla fine, dopo $array)

    if(preg_match_all("|(.+)(Mozilla)(.+)|iu", $_SERVER['HTTP_USER_AGENT'], $array))

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    59
    fatto, adesso mi dà:

    Parse error: parse error, unexpected T_STRING, expecting ',' or ';'

    in questa linea:



    [img]rollover/xx.gif[/img] </p>

  7. #7
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da rafvall1
    fatto, adesso mi dà:

    Parse error: parse error, unexpected T_STRING, expecting ',' or ';'

    in questa linea:



    <a href="xx.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('xx','','rollover/xxover.gif',1)"><img src="rollover/xx.gif" alt="xx" name="xx" width="28"></a> </p>
    Ci giurerei... vedi quanti apici doppi??? usa ' o \"...


  8. #8
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    59
    Ho corretto tutti gli apici doppi e adesso visualizzo la pagina correttamente in i.e.

    Con Mozilla invece non mi appaiono i rollovers ma mi appaiono i links testuali (gli stessi del css di i.e.). Ho guardato il codice della pagina con mozilla e difatti mi appaiono quelli...praticamente sono tornato al punto iniziale...

    Non capisco ora quale possa essere l'errore...

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    59
    ...Praticamente con mozilla mi affianca il codice dei rollovers (che rimangono nascosti nella pagina)
    e mi mostra spostato a lato i links testuali fatti con i css per i.e.
    (ma che su mozilla appaiono orizzontali e quindi mi sballano tutta la grafica)

  10. #10
    Credo che dovresti postare l'intera pagina, o dare l'indirizzo di dove sia possibile scaricarne un TXT. L'errore deve essere per forza in un'altro punto del codice, perché con if {} else {} non è possibile che esegui per sbaglio tutte e due le porzioni di codice...
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

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 © 2024 vBulletin Solutions, Inc. All rights reserved.