Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [php] if then else

  1. #1

    [php] if then else

    Salve raga, mi serve il vostro aiuto.
    Premettendo che non conosco il php.
    Mi servirebbe un piccolo controllo sul browser.
    Se il browser e' IE ed e' una versione inferiore alla 8: inserisci un immagine.
    altrimenti
    inserisci filmato in flash.

    Scusatemi sembrerebbe che io vorrei la pappa gia pronta, ma purtroppo non conoscendo il php non so cosa fare, e non ho nemmeno il tempo per studiarlo.

  2. #2
    Utente di HTML.it L'avatar di Takeno
    Registrato dal
    May 2007
    Messaggi
    146
    http://us.php.net/manual/en/function.get-browser.php

    Codice PHP:
    $browser get_browser(nulltrue);

    if(
    $browser ['version'] < && $browser['browser'] == 'INTERNET EXPLORER')
       echo 
    "immagine";
    else
       echo 
    "filmato flash"
    Purtroppo sto su linux e non ho explorer per testare. Scrivi
    Codice PHP:
    $browser get_browser(nulltrue);
    echo 
    $browser['version']; 
    Per verificare come viene chiamato il browser. Incolla la soluzione nell'if ed è fatto.

  3. #3
    scusami, ma non ho capito bene cosa devo fare.

    Inoltre per mettere il filmato flash, come si fa in php??
    e per l'immagine???

  4. #4
    c'e' nessuno???

  5. #5
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Qualche settimana fa mi è capitato di utilizzare get_browser, ma mi restituiva sempre null, quindi penso che non sempre sia disponibile.
    Puoi risolvere con le espressioni regolari:

    Codice PHP:
          $userAgent    strtolower($_SERVER['HTTP_USER_AGENT']);
          
    $known = array('msie''firefox''safari''webkit''opera''netscape''konqueror''gecko');
          
    $pattern '#(?<browser>'.join('|'$known).')[/ ]+(?<version>[0-9]+(?:\.[0-9]+)?)#';
          if (!
    preg_match_all($pattern$userAgent$matches)) return array();

          
    $i count($matches['browser'])-1;
          
    $browser $matches['browser'][$i];
          
    $version $matches['version'][$i];

          if (
    preg_match('/linux/'$userAgent)) {
            
    $os 'linux';
          }
          elseif (
    preg_match('/macintosh|mac os x/'$userAgent)) {
            
    $os 'mac';
          }
          elseif (
    preg_match('/windows|win32/'$userAgent)) {
            
    $os 'windows';
          } 
    Nota che ho scritto al volo il codice di qui sopra, prendendolo da una classe che utilizzo, ma dovrebbe essere ok.

    Per quanto riguarda l'inserimento del video quello è compito dell'html, quindi se hai flash prova ad esportare un filmato o entra in un qualsiasi sito che abbia dei filmati in flash e guarda il codice usato.

    Ora la pappa dovrebbe essere proprio pronta

    Ciao

  6. #6
    scusami, ma non ci ho capito niente,
    io dove devo inserire l'immagine e il filmato??

  7. #7
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Con il codice che ho postato sei in grado di recuperare il browser del client e la versione,
    quindi devi fare un IF sul valore di $browser e $version.

    Prova a creare un file php, con il codice che ho inserito,
    in fondo al file aggiungi

    Codice PHP:


    Browser : <?php echo $browser;?></p>


    Versione : <?php echo $version;?></p>


    Sistema Operativo : <?php echo $os;?></p>
    Entra con diversi browser, e nota i vari risultati ottenuti.

    Compreso quali sono i valori ritornati da quelle variabili, fai l'if

    Codice PHP:
    if($browser == 'quellochevuoi' && $version 'quellochevuoi'){
     
    // codice per visualizzare l'immagine ( si tratta di html )
    }else{
     
    // codice per visualizzare il filmato flash ( si tratta di html ed eventualmente javascript )

    Ti consiglio di studiare questa pagina di malsup, un ottimo plugin di jquery per la gestione dei filmati.
    Essendo js, parlando qui andiamo OT.
    Ma non credo che tu abbia bisogno di altro no? E' praticamente tutto scritto ormai.
    Ciao

  8. #8
    scusami se te lo dico, ma la tua soluzione e' troppo complicata.

    A me andrebbe bene anche:
    Se il browser e' IE, fai apparire immagine
    altrimenti
    fai apparire il flash

    Controlli sul sistema operativo non mi interessano

    Io ho fatto cosi, pero non mi funziona:
    codice:
    <?php
    if (strpos($browser, 'MSIE') !== false && strpos($browser, 'MSIE 8') === false)
    {
      echo "[img]/templates/123wd-j15-2/images/header_img_bg.jpg[/img]";
    }
    
    else
    
    {
    echo  "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'
        codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'
        width='500' height='162'>
    	<param name='width' value='500' />
    	<param name='height' value='162' />
    	<param name='src' value='/templates/123wd-j15-2/images/banners.swf' />
    	<param name='quality' value='high' />
    	<embed type='application/x-shockwave-flash' width='500' height='162'
     	src='/templates/123wd-j15-2/images/banners.swf' quality='high'>
    	</embed>
      </object>";
    
    }
    ?>
    Non conoscendo il php, sono riuscito a capire la sintassi, ma per capire il tuo mi servirebbe prima un buon libro.

    Cmq ho inserito questo codice nel mio sito, ma anche se lo apro con IE 7, mi fa apparire sempre il filmato flash.
    sai dirmi dove sbaglio??
    questo e' il sito:
    www.cmalburni.altervista.org

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.