2013-03-24 1 views
-1

간단히 말해, 메인 사이트와 모바일 버전이 있습니다. "전체 사이트보기"버튼을 만들려고하는데,이 버튼을 클릭하면 2 가지 기능을 수행합니다. 그들 중 하나가jQuery 모바일 + 쿠키 설정 + PHP = 주요 골칫거리에서 연결. 도와주세요

1. 홈 페이지가 "전체 사이트보기"버튼을 클릭했는지 추적 할 수 있도록 쿠키를 설정하십시오. 메인 부모 (안 모바일) 클릭에 웹 사이트에

2. 이동합니다.

나는 너무 많은 것들을 시도했기 때문에 나는 페이지를 막히지 않을 것이다. 어쨌든 내가 그것을 작동하려고 마지막 방법은 내가

-1에 의해 기다란 방법을 모두 고장이다. 버튼 생성

-2. 클릭에 쿠키를 설정 PHP와 프로세서 페이지로 이동하고, 그렇게 한 후, 주요 사이트

-3로 리디렉션. 메인 사이트는 "전체 사이트보기를 클릭했는지 확인하는 PHP"를 가지고 있습니다.

그리고 여전히 작동하지 않습니다. PHP의 이동이 감지 - jQuery를 모바일

(사이트이 내 구축됩니다) -

가 : 아래

는 일을하려고 어떤 메신저와 함께 그 일을 어떤 메신저의 좋은 설명입니다 (http://code.google.com/p/php-mobile-detect/)

- jQuery를 쿠키 (,)

참고 : 쿠키를 설정하고 존재 여부를 테스트하는 한 개별적으로 작동합니다. 내가이 PHP가 여는 HTML 태그를 헤더에 주요 사이트의 인덱스에

: 모바일 사이트의 인덱스에

if(!isset($_COOKIE['dontDoMob'])){ 

    //its not set so check for device type. 
    include("Mobile_Detect.php"); 
    $detect = new Mobile_Detect(); 



    if ($detect->isMobile()) { 
     //"its some kind of mobile device so redirect to mobile"; 
     header("Location:http://myforecyte.com/m/"); 
     exit(); 
    } 
} 

, 난 버튼을했다 ("전체 사이트보기 ") 클릭 할 때 jQuery (단독으로 작동)를 통해 쿠키를 설정 한 다음 메인 사이트를 계속로드 한 홈 페이지로 리디렉션하면 쿠키가 설정됩니다.(그 때문에 jQuery를 모바일의 경우 확실하지), (그것도 리디렉션 할 것) 작업, 그리고 내가 모든 것을 분리 된 다음이었다 가정 잘하지 않은 모든 이후

,

내가 한 일이었다 이 (아래)

는 내가 jQuery를 모바일에서
링크가이 같은 별도의 프로세서 페이지 (등)에 갈 수있는 전체 사이트보기를 설정합니다. 내가 이런 기본적인 것을 (확인 쿠키가 설정되었다 만들기 위해) PHP와 함께 쿠키를 확인할 때 이제

setcookie('dontDoMob', 'yes'); 

header("Location:http://www.myforecyte.com"); 

:

if(isset($_COOKIE['dontDoMob'])){ 

    echo "its set yo"; 

} else { 

echo "its not set"; 
} 

작동, 그 프로세서 페이지는이

PHP를 가지고 그리고 나에게 "그 세트 요"롤 (내가 웃어야 만) 알려줍니다. 모든 쿠키를 삭제하고 방화 광구로 다시 테스트하면 항상 그에 따라 작동합니다.

그래서 나는 모든 넌센스를 삭제하고 단순히 PHP 떠나 :

setcookie('dontDoMob', 'yes'); 

header("Location:http://www.myforecyte.com"); 

그리고 무슨 일 그 후 .... 잘 ...... 항상 다시 모바일로 이동합니다. 분할 된 주 사이트 URL을 확인한 다음 다시 모바일로 리디렉션합니다. 쿠키가 설정되지 않은 것처럼.

PS/HINT - 전 세계적인 규모 또는 이와 유사한 것으로 쿠키를 설정하는 것과 관련이 있다고 생각합니다. 베인이 뒤죽박죽이다.

Im LOST!

어떤 도움, 논리 조정 .... 나는 아무것도 얻을 수 없어 겸손 감사합니다.

고맙습니다.

답변

0

쿠키의 도메인 제한은

입니다. 기본적으로 http://mobile.example.com의 쿠키는 http://www.example.com에 사용할 수있는 이 아니고의 쿠키입니다.

그러나 이며 쿠키를 만든 도메인의 모든 하위 도메인에서 사용할 수 있습니다. 예 : http://a.mobile.example.comhttp://b.mobile.example.com.

쿠키를 설정할 때 쿠키를 만들 도메인을 지정할 수 있습니다. 여기에 PHP 설명서를 읽어

http://php.net/manual/en/function.setcookie.php

이 문제에 대한 전체 답변입니다,하지만 당신은 여러 도메인 이름을 언급하고 있기 때문에,이 문제의 일부 수 있습니다 경우 확실하지.

희망이 내가 똑같은 일을하려고했는데 나는 마침내 작동있어

+0

안녕하세요 Jeztah를 :) 도움이 될 수 있기를 바랍니다. 그래서 나는 이렇게 쿠키를 다시 썼다 : setcookie ('dontDoMob', 'yes', 0, '/', 'www.myforecyte.com'); 똑같은 일을합니다. 내가 주요 사이트의 URL 비트는 여전히 모바일로 돌아갑니다 참조하십시오 – somdow

+0

리디렉션은 PHP를 통해서만 이루어집니다? 또는 JavaScript를 사용하여 동일한 쿠키를 사용하려고합니까? 그렇다면 'httponly'가 false로 설정되어 있는지 확인하십시오. 그러나 쿠키를 실제로 홈페이지에서 올바르게 읽었는지 확인하기 위해 디버그 코드를 다시 시도하고 (일시적으로) 문제를 좁히기 위해 자바 스크립트를 제거하는 것이 좋습니다 – thaJeztah

+0

예 리디렉션 및 쿠키 설정은 PHP를 통해 수행됩니다. 나는 js를 시도했다. 그러나 그것도 역시 일하지 않고있다. 내가 리디렉션을 볼 수 있기 때문에 홈 페이지에서 쿠키를 추측하고있는 것은 아닙니다. 쿠키는 읽지 않았거나 페이지에서 페이지로 유지 되었기 때문에 모바일 페이지로 자동 이동합니다 ... – somdow

1

하는 데 도움이됩니다. 네가 한 것과 같은 방법을 사용했는데 네가 왜 안되는지 모르겠다.

내 모바일 사이트에서 전체 사이트를 볼 수있는 버튼이 있습니다.

<?php 
    setcookie("mobile", "full", time()+3600); 
    header("Location:http://www.fullsite.com"); 
?> 

그것은 쿠키를 설정하고 주요 사이트로 이동 :이 버튼 링크

setmobile.php이 같은 간단한 PHP 파일입니다 www.fullsite.com/setmobile.php합니다. 당신은 아마이

<?php 
if (!isset($_COOKIE["mobile"])){ 
    (...detect mobile script) 
} 
?> 

그것은 나를 위해 작동하지만 당신이 내가 당신이 작동하지 않는 이유를 잘 모르겠어요 그래서 사용하는 것과 동일한 방법처럼 보인다 ...

: 주요 사이트는 다음과 같은 PHP 코드를 가지고 지금 해결책을 찾았지만하지 않을 경우,이 당신이

행운을 빌어 요, 앤드류