Detect mobile device en start sessie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Raymond van Os

raymond van Os

14/02/2012 12:02:22
Quote Anchor link
Quote:
Goede dag,

Ik heb een vraag over het detecteren van een mobile device.
het volgende heb ik gemaakt:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$useragent
=$_SERVER['HTTP_USER_AGENT'];
    if (isset($useragent))
    {

if(preg_match('/android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|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|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|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|xda(\-|2|g)|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))
    {
            
         echo 'Geachte bezoeker u heeft een mobiel, wilt u de moniele pagina bekijken of de desktop versie?';
         echo '<a href="http://nietmobiel">desktop pagina</a>' . '<br />' . '<a href="http://welmobiel">mobiele pagina</a>';
    }

    else
    {
        header('http://test.wbcreators.nl/iphone/');
        echo "u heeft geen mobieltje";
    }
    }

    else
    {
    header('http://test.wbcreators.nl/iphone/');
    }

?>


Quote:
Nu was mijn vraag hoe ik met bijv een sessie kan kijken of de gebruiker met een mobieltje al een keer heeft gekozen. als hij al heeft gekozen dan wordt hij naar zijn keuze door gestuurd. De sessie zou na een aantal uur dan worden ge'destroyed.

Ik hoop dat iemand mij hiermee zou kunnen helpen..
Alvast bedankt
 
PHP hulp

PHP hulp

24/04/2024 06:27:42
 
John D

John D

14/02/2012 12:06:19
Quote Anchor link
Een sessie (serverside) verdwijnt meteen, je moet kijken naar cookies en deze een looptijd meegeven. http://php.net/manual/en/function.setcookie.php
Gewijzigd op 14/02/2012 12:07:33 door John D
 
Raymond van Os

raymond van Os

14/02/2012 12:08:58
Quote Anchor link
Ja daar dacht ik inderdaad ook al aan, weet je misschien hoe dit moet worden gadaan in dit script. of moet dit appart
 
Ozzie PHP

Ozzie PHP

14/02/2012 12:14:47
Quote Anchor link
Als ie op de link klikt dat ie een mobiele versie wil dan "set" je op die pagina een cookie. Als ie de volgende keer weer op je site komt kijk je of de cookie geset is. Zo ja, dan stuur je 'm door naar de mobiele versie.
 
Raymond van Os

raymond van Os

14/02/2012 12:31:38
Quote Anchor link
Quote:
Oké; het is dus de bedoeling dat ik de setcookie boven aan de pagina zet die je kiest.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
setcookie("TestCookie", $value1, $value2, time()+3600);
?>

Quote:
En moet ik dit onderstaande dan onder if(preg_match(' etc.... zetten?
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$value1
= '<a href="http://mobiel">mobiel</a>';
$value2 = '<a href="http://niet mobiel">niet mobiel</a>';
            
echo $value1 . '<br />' . $value2;
?>


Toevoeging op 14/02/2012 13:20:26:

Of moet dit op een andere manier, ik kom er niet helemaal uit..

Toevoeging op 14/02/2012 13:51:53:

Heeft iemand misschien een goede oplossing. voorbeeldje ofso
Gewijzigd op 14/02/2012 12:32:12 door raymond van Os
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.