Avatar billede sabumnim Novice
25. januar 2012 - 08:16 Der er 5 kommentarer og
1 løsning

Mobilt website med php og setcookie

Hej alle

Jeg har tidligere haft en forespørgsel herinde ang mobilt website kørende på php og html5.
Det virker!!

Men den person der endte med at komme med en løsning (jakobdo) kom med et bud på følgende problem:

Når jeg kommer ind på mit rigtige website, gennem min mobile webside, så foreslog jakobdo at jeg satte en cookie for at bibeholde brugeren på mit normale site.
Men jeg har sgu lidt problemer med at få sat en cookie...

Tidligere besvarelse hvor Jakobdo foreslår en cookie, ligger her:
http://www.eksperten.dk/spm/943735

Imidlertidig  har jeg kigget på dette site: http://detectmobilebrowsers.mobi/
og her downloadet nogle eksempler som måske kunne være et udgangspunkt....

Men vil gerne have nogle pointers til om det er denne vej jeg skal gå:



if(isset($_GET['switch'])){
    $mobile = $_GET['switch']; // should be either 1 for true or empty for false
    setcookie('switch',$_GET['switch']); // set a cookie
    if(isset($_SERVER['HTTP_REFERER'])){ // if the referer is set send the user there
        header('Location:'.$_SERVER['HTTP_REFERER']);
        exit;
    }
}else if(isset($_COOKIE['switch'])){ // if the cookie is set use it
    $mobile = $_COOKIE['switch'];
}else{ // else use the function to detect if it's a mobile or not
    $mobile = mobile_device_detect();
}



//Carsten
Avatar billede olebole Juniormester
25. januar 2012 - 14:57 #1
<ole>

"Men jeg har sgu lidt problemer med at få sat en cookie..." - og kunne du måske lokkes til at elaborere lidt på problematikken?  *o)

Hvad sker?
Hvad sker ikke?
Får du fejlmeldinger?
Har du slået alle fejlmeddelelser og advarsler til eller fra?

/mvh
</bole>
Avatar billede sabumnim Novice
10. juli 2012 - 12:04 #2
Hej der

Dette spørgsmål lader stadig ikke til at have modtaget noget svar, hvorfor jeg selv søgte videre og har nu løst problemet.

Løsningen er her (hvis andre får behov for det):

STANDARD SIDE (index.php):
Her sættes følgende kode, som detecter om du ankommer med en mobil enhed eller en normal computer (indsættes før doctype og alt andet):


<?php @include("Mobile_Detect.php");
$detect = new Mobile_Detect();
if ($detect->isMobile() && isset($_COOKIE['mobile']))
{
$detect = "false";
}
elseif ($detect->isMobile())
{
header("Location:http://ditmobile-website.dk");
}
?>



MOBIL SIDEN (index.php):

Øverst i filen, før doctype og alt andet sættes denne cookie. Her sættes en cookie, som bliver genkendt på dit standard site og derfor får du lov at blive på standard sitet.


<?php
setcookie("mobile","m", time()+3600, "/",".dit-standard-site.dk");
?>



MOBIL SITE, her kan du tilbyde brugeren at han kan gå til dit standard site, ved at klikke på et link:


<a href="http://dit-standard-site.dk">Se fuld webside</a>


Du skal også have downloadet følgende fil, mobile_detect.php, som du kan finde her:
http://code.google.com/p/php-mobile-detect/

Den skal ligge i samme rod som din mobile-version.

Det er det, nu skulle det virke :0)

//Carsten
Avatar billede sabumnim Novice
10. juli 2012 - 12:05 #3
Jeg svarer selv og inkasserer point, da jeg selv har leveret løsningen
Avatar billede olebole Juniormester
10. juli 2012 - 15:19 #4
Det er nok også meget passende, når du nu ikke har vist skygge af interesse, efter tråden blev oprettet for et halvt år siden  *o)
Avatar billede sabumnim Novice
10. juli 2012 - 15:23 #5
Hej OleBole

Det er som ikke fordi jeg ikke har haft interessen, men har selv siddet og rodet en del med det siden jeg posterede den her på EXP.
Og fandt til sidst en løsning, som virkede, men har så helt glemt alt om at få lukket denne post :0)

Så tænkte nu at det var på tide, da jeg fik en mail fra exp.dk om dette åbne spørgsmål :0)

//Carsten
Avatar billede olebole Juniormester
10. juli 2012 - 15:34 #6
*o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester