Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    226

    ricercare il valore in una stinga

    Ciao

    vorrei fare un like all'interno di una variabile
    codice:
     <?php echo $browser = ("HTTP_USER_AGENT");?>
    mi passa questa stringa = Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.0.3705; InfoPath.2; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322)

    di tutte queste informazioni a me serve solo : MSIE 7.0

    Come posso fare per estrappolarlo dalla striga..... ????

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    226
    ho provato così :
    codice:
     <?
     $browser = ("HTTP_USER_AGENT");
     
     // in PHP 4.0b3 e successivi:
    $pos = strrpos($browser, "MSIE 6.0");
    if ($pos === false) { // note: three equal signs
        // not found...
    	include("laser-hade3.php");
    }
    else  {
    	include("laser-hade5.php");
    	
    }
    
    ?>
    ma non funziona.........

    dove sbaglio??

  4. #4
    Non usare lo short open tag, utilizza il tag di apertura completo (<?php).

    $browser = ("HTTP_USER_AGENT"); dovrebbe essere $browser = $_SERVER['HTTP_USER_AGENT'];

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    226
    ho corretto così (mi sembra di aver modificato tutto quello che mi avevate indicato)

    codice:
    <?php 
     $browser = $_SERVER['HTTP_USER_AGENT']; 
     
     // in PHP 4.0b3 e successivi:
    $pos = strrpos($browser, "MSIE 6.0");
    if ($pos === false) { // note: three equal signs
        // not found...
    	include("laser-hade3.php");
    }
    else  {
    	include("laser-hade5.php");
    	
    }
    
    ?>
    il file è un include.... nel senso che per non rieprire tutte le pagine dato che c'è gia li un include della pagina laser-hade2.php non ho fatto altro che modificare quest'ultima in modo da risolvere velocemente in tutte le pagine del sito....... ma non penso sia per questo !

    ascoltando i consigli..... ma nulla non riesce ad identificarmi 'MSIE 6.0' all'interno della stringa.....
    non sò più come fare.... stò guardando in google ma non trovo nulla (forse sbaglio i parametri di ricerca ma veramente non so più dove sbattere la testa )

    Mi stò facendo prendere dalla disperazione........ AIUTO

    Dove sbaglia la funzione che ho scritto ???

    entra sempre qui:
    if ($pos === false) { // note: three equal signs
    // not found...
    include("laser-hade3.php");
    }

  6. #6
    All'inizio cercavi MSIE 7.0 ora cerchi MSIE 6.0. Sei sicuro di stare testando lo script con il browser corretto?
    Che cosa restituisce var_dump($_SERVER['HTTP_USER_AGENT'])?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    226
    provando ad inserire questo

    codice:
    <?php 
    var_dump($_SERVER['HTTP_USER_AGENT']);
    
    
     $browser = $_SERVER['HTTP_USER_AGENT']; 
     
     // in PHP 4.0b3 e successivi:
    $pos = strrpos($browser, "MSIE 6.0");
    if ($pos === false) { // note: three equal signs
        // not found...
    	include("laser-hade3.php");
    }
    else  {
    	include("laser-hade5.php");
    	
    }
    
    ?>

    mi ritorna a video
    string(145)
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322)"

    testando con IE 7.....

    Stò cercando di identificare il MSIE 6.0 che è l'unico a darmi problemi .......
    l'ho installato su una macchina virtuale...... ma il menù mi conpare sempre uguale sia con una sia con l'altra versione

  8. #8
    Se stai utilizzando PHP < 5.0, prova con strpos() al posto di strrpos().
    In ogni caso, quale include viene eseguito?

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    226
    sempre e solo

    include("laser-hade3.php");

    adesso provo a controllare sul server, mi sembra comunque di utilizzare proprio il 5 ma non sono sicura.....

  10. #10
    Prova questo codice:
    Codice PHP:
    <pre>
    <?php 
    $browser 
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322)"
    $pos strrpos($browser"MSIE 6.0");
    if (
    $pos === false) { // note: three equal signs
        
    var_dump("laser-hade3.php");
    } else {
        
    var_dump("laser-hade5.php");
    }

    $browser "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322)"
    $pos strrpos($browser"MSIE 6.0");
    if (
    $pos === false) { // note: three equal signs
        
    var_dump("laser-hade3.php");
    } else {
        
    var_dump("laser-hade5.php");
    }
    ?>
    </pre>

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.