Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,486

    ciclo if else se mobile o desktop

    Salve a tutti

    possibile fare un ciclo if else in base al dispositivo che utilizza l'utente?

    In pratica vorrei mostrare un testo solo se su desktop e nasconderlo se su mobile.

    Sapete consigliarmi qualcosa?
    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,649
    Partiamo dall'assunto che if/else non un ciclo, ma una struttura di controllo.
    I cicli sono for, foreach, while...

    Ci sono librerie gi scritte per riconoscere i dispositivi che usano gli utenti, fa una ricerca con "php device detection", dovresti trovarne un bel po'.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    634
    Puoi usare questa libreria per farlo: https://github.com/serbanghita/Mobile-Detect/

  4. #4
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,486
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Partiamo dall'assunto che if/else non un ciclo, ma una struttura di controllo.
    I cicli sono for, foreach, while...
    Si ho sbagliato a scrivere

    In ogni caso ho trovato questo su internet, ma affidabile?

    Codice PHP:
    <?php
            $useragent
    =$_SERVER['HTTP_USER_AGENT'];        if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))
            {             
    //echo "mobile";        }        else{           // echo "desktop";        }?>

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,649
    Non penso che leggendo l'espressione regolare ti si possa dire se va bene o no.
    Tieni presente che ci sono sempre dispositivi nuovi in commercio.
    Trova una qualche libreria aggiornata e che sia seguita, per esempio su GitHub dove puoi renderti conto di queste cose.
    Non un controllo che scrivi oggi e va bene per sempre, devi tenerlo aggiornato se vuoi che sia affidabile.

  6. #6
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,486
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    Puoi usare questa libreria per farlo: https://github.com/serbanghita/Mobile-Detect/
    ho visto che bisogna installarlo un pacchetto composer, ma possibile farlo anche sui server in hosting ?
    Non credo di aver accesso ssh
    Nel caso non ci sono alternative?

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,649
    Nella pagina che hai linkato c' la sezione
    Download and include manually

  8. #8
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,486
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Nella pagina che hai linkato c' la sezione
    Download and include manually
    ah ok, credevo che mi faceva scaricare i file ma poi dovevo utilizzare obbligatoriamente composer per terminare l'installazione.
    Provo ad usarlo allora
    Grazie

  9. #9
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,486
    rieccomi,
    ho configurato il tutto e funziona, riesco a fare cio' che voglio.

    Vorrei capire solo una cosa:
    se volessi diversificare il nome della pagina per chi entra da mobile o da computer, come potrei fare?

    Tipo:
    se entra da desktop vede il sito www.miosito.it
    se entra da smartphone vede il sito mobile.miosito.it

    C'entra questa classe oppure serve altro?
    Grazie

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,649
    Metti un semplice if/else che fa un redirect su una o sull'altra pagina a seconda di ci che rileva la classe.

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