php browser detection

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
NDH
Δημοσιεύσεις: 403
Εγγραφή: 03 Φεβ 2009 13:56
Επικοινωνία:

php browser detection

Δημοσίευση από NDH » 17 Οκτ 2010 05:20

Gia sas pedia exw to parakatw script pou kanei browser detection alla otan anoigw me Chrome leei oti anoigw me safari giati?

Κώδικας: Επιλογή όλων

<?php
$useragent = $_SERVER&#91;'HTTP_USER_AGENT'&#93;;

if &#40;preg_match&#40;'|MSIE &#40;&#91;0-9&#93;.&#91;0-9&#93;&#123;1,2&#125;&#41;|',$useragent,$matched&#41;&#41; &#123;
    $browser_version=$matched&#91;1&#93;;
    $browser = 'IE';
&#125; elseif &#40;preg_match&#40; '|Opera &#40;&#91;0-9&#93;.&#91;0-9&#93;&#123;1,2&#125;&#41;|',$useragent,$matched&#41;&#41; &#123;
    $browser_version=$matched&#91;1&#93;;
    $browser = 'Opera';
&#125; elseif&#40;preg_match&#40;'|Firefox/&#40;&#91;0-9\.&#93;+&#41;|',$useragent,$matched&#41;&#41; &#123;
        $browser_version=$matched&#91;1&#93;;
        $browser = 'Firefox';
&#125; elseif&#40;preg_match&#40;'|Safari/&#40;&#91;0-9\.&#93;+&#41;|',$useragent,$matched&#41;&#41; &#123;
        $browser_version=$matched&#91;1&#93;;
        $browser = 'Safari';
&#125; elseif&#40;preg_match&#40;'|Chrome/&#40;&#91;0-9\.&#93;+&#41;|',$useragent,$matched&#41;&#41; &#123;
        $browser_version=$matched&#91;1&#93;;
        $browser = 'Chrome';
&#125; else &#123;
        // αν ο browser σας δεν ειναι ενας απο του παραπανω θα δεινει other και version 0
    $browser_version = 0;
    $browser= 'other';
&#125;

echo "Ο browser σας&#58; ".$browser." και η version του ".$browser_version;
?>

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

php browser detection

Δημοσίευση από gvre » 17 Οκτ 2010 10:19

Τύπωσε το $useragent, παρατήρησε τι γράφει και μετά δες τη σειρά των if.

NDH
Δημοσιεύσεις: 403
Εγγραφή: 03 Φεβ 2009 13:56
Επικοινωνία:

php browser detection

Δημοσίευση από NDH » 17 Οκτ 2010 17:50

exw dei ti vgazei des kai esu

Κώδικας: Επιλογή όλων

Mozilla/5.0 &#40;Windows; U; Windows NT 5.1; en-US&#41; AppleWebKit/534.3 &#40;KHTML, like Gecko&#41; Chrome/6.0.472.63 Safari/534.3
auto vgazei apo chrome

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

php browser detection

Δημοσίευση από dva_dev » 17 Οκτ 2010 19:38

Γιατί δεν δοκιμάζεις να βάλεις τον έλεγχο του safari σαν τελευταίο elseif. Ακόμα καλύτερα να κάνεις μια αναζήτηση στο web για php browser detection.

Να έχεις πάντως υπόψη σου ότι το detection όσο καλό και να είναι, δεν είναι εντελώς ασφαλές. Ο κάθε browser μπορεί να αλλάξει από έκδοση σε έκδοση το user agent string, ο χρήστης μπορεί να πειράξει το user agent string που έχει default o browser σε κάτι άσχετο, ο browser μπορεί να υποστηρίζει να στέλνει το user agent string κάποιου άλλου browser, μπορεί κάποιο ενδιάμεσο πρόγραμμα (firewall, proxy, ...) να κόβει εντελώς το user agent string, ή να βάζει κάτι εντελώς άσχετο.

NDH
Δημοσιεύσεις: 403
Εγγραφή: 03 Φεβ 2009 13:56
Επικοινωνία:

php browser detection

Δημοσίευση από NDH » 17 Οκτ 2010 20:16

de me pirazei outos i allos sto peripou to thelw gia statistika alla an ginete na vriskw kai ton chrome esto kai kata 70% kala thane kati tha kanw kai tha s pw an allakse kati
ok allaksa tin thesi tis elseif kai doulepse!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης