2012-08-16 1 views
0

로컬 서버에서 완벽하게 작동하지만 라이브 서버에서는 작동하지 않는 코드가 있습니다.isset 로컬 서버에서 작동하지만 라이브 서버에서 작동하지 않습니다.

내 로컬 서버는 WAMP이고 라이브 서버는 LiteSpeed, PHP 및 MySQL이 포함 된 Unix입니다.

문제점 기존 세션이없는 경우에만 새 세션을 생성하고 싶습니다. 누구든지 이걸 도와 드릴까요? 다음과 같이

정확한 코드는 다음과 같습니다

$cart = $_SESSION["cart"]; 

if (isset($cart))// this checks if session has been created already. 
$cart = $cart; // if session is already set, it uses the random value already created. 
else { 
$_SESSION["cart"] = rand(111111111,999999999);// if session has not be created  before a new randome number is picked. 
$cart = $_SESSION["cart"]; 
} 
+1

당신은 좀 더 구체적으로 작동하지 않을 수 있습니까?'$ _SESSION [ "cart"]'_is_set,하지만 isset은 그것을 선택하지 않습니다; 또는 설정되어 있지 않으며 isset이 알려줍니다. – andrewsi

+0

내가 말하는 것은 페이지를 새로 고침 할 때마다 $ cart 값이 변경된다는 것입니다. 그것 shouldnt. –

+0

@EhisAsibor'session_start() '를 호출 했습니까? 로컬 서버는'session.auto_start'를 유효하게 할 수 있습니다. – DaveRandom

답변

0

이 사람은 어디에서나 작동합니다 :

if(empty($_SESSION["cart"])){ 
    $_SESSION["cart"] = rand(111111111,999999999); 
    $cart = $_SESSION["cart"]; 
} else 
    $cart = $_SESSION["cart"]; 
+0

난 그냥 trie이 작동하지만 didnt 일 : ( –

+0

이것은 작동해야합니다. 그것은 더 많은 코드와 테스트 결과를 보여 주시기 바랍니다. – Waygood

+0

그것은 로컬 호스트에서 작동하지만 라이브 서버에서는 작동하지 않습니다. –

0

세션이 시작 원래 카트가 설정되어 있는지 확인되어 있는지 확인하십시오.

session_start(); 
if(!isset($_SESSION['cart'])) 
{ 
    $_SESSION['cart']=rand(111111111,999999999); 
} 
+0

예 세션이 시작되었으며 session_start()가 있습니다. 페이지 상단에 있지만 지금 수정을 테스트 할 것입니다. –

+0

동일한 문제는 내 로컬 호스트에서는 작동하지만 라이브 서버에서는 작동하지 않습니다. –

0

당신이 그것을 asign하고 그 결과를 게시 후 바로 var_dump($cart)을 시도합니다.

$cart = $_SESSION["cart"]; // setting the variable $cart and assigning it some value 

if (isset($cart)) // this checks if session has been created already 
    // and it will return TRUE anyway because `$cart` is already defined above regardless value it was assigned 

그리고 코드의이 부분 아무튼 : 변수가 설정하거나되지 않은 경우 isset()의로

+0

$ _SESSION이 $ _Session이 아님 – Waygood

+0

지금 확인 ... 결과가 곧 게시됩니다 –

+0

같은 문제가 없습니다 ... 라이브 서버 구성에 문제가 있습니까? 그것은 로컬 호스트에서 완벽하게 작동하기 때문에 –

3

검사한다

당신은 대신 asigning 및 확인의 $_Session[cart]을 확인 할 수 있습니다

, 여기에 분명하다 $_SESSION['key']이 설정되어 있는지 확인하지 말고 $cart 변수를 확인하십시오. 실제로 이미 설정되어 있습니다. is_null() 또는 empty()인지 확인 할 수 있지만 isset()은 확인할 수 없습니다.

+0

isset()을 잘못 사용하는 사람이 너무 많습니다. 이것을 가르치는 진부한 사이트가 있습니까? – Waygood

+0

물론, 그가 쓴 (isset()으로) 행동은 예상치 못한 것입니다. – Maykonn