2011-08-15 2 views
0

나는 지금 휴일에 학습 목적을 위해 스크립트와 같은 아주 간단한 groupon을 구축 중이다. 내가 아래에 게시 한 것은 거래를 보여주는 코드이며 구매할 수있는 옵션이 있습니다. 구매를 클릭하면 checkout.php로 이동하여 요청한 제품에 대한 정보를 표시합니다. 내가 배우고 싶은 것은 내가 게시하는 것은이 작업을 수행 할 수있는 좋은 방법입니다 경우입니다PHP보다 페이지에 변수를 전달하는 더 나은 방법이 있습니까?

$dealid = (int)$_GET["id"]; 

$query = "SELECT * FROM products WHERE id = $dealid LIMIT 1"; 
$row = mysql_fetch_array(mysql_query($query)); 

echo $row['name']; 

checkout.php

$dealid = (int)$_GET["id"]; 

$query = "SELECT * FROM products WHERE id = $dealid LIMIT 1"; 
$row = mysql_fetch_array(mysql_query($query)); 

echo $row['name']; 
echo '<br>'; 
echo '<a href="checkout.php?id='. $row['id'] .'">buy</a>'; 

deal.php. 나는 그렇지 않다. 내 목표는 이미지를 링크 또는 버튼을 통해 체크 아웃 거래의 일부 데이터를 전달하는 것입니다 그리고 나는 URL에서 예를 들어 제목을 전달하고 싶지 않아요.

내가 생각하는 것은 http://www.groupon.com/st-johns/입니다. 구매 이미지를 클릭하면 구매 요청 정보가 포함 된 다음 단계로 넘어갑니다.

감사합니다.

+1

쿼리 매개 변수/숨김 양식 필드를 사용하거나 세션을 사용합니다. 두 가지 선택 중 하나가 작동합니다. 그것은 당신에게 달려 있습니다. 검색어 매개 변수는 장바구니 시스템에서 훨씬 더 나은 선택입니다. –

답변

1

변수를 $_SESSION 변수에 저장하십시오.

session_start(); 
$_SESSION['zipCode'] = "01879"; 

//zipCode now available on all pages that call session_start() 

이것은 당신이 사용자의 세션의 수명에 대한 정보를 저장할 수 있습니다. 세션이 파괴되면 (사용자가 탐색, 브라우저를 닫음 등) 정보는 더 이상 존재하지 않습니다. 또는 cookies을 사용하여이 정보를 장기간 저장할 수 있습니다.

추가

사용자가 대부분의 브라우저는 지금 가지고 DOM 관리자를 사용하여 페이지의 DOM 요소를 수정할 수 있습니다 이러한 방법은, 또한 페이지에 정보를 저장하는 것보다 더 안전합니다. 가장 안전한 방법은 쿠키 정보가 변경 될 수 있기 때문에 세션을 사용하는 것이지만 먼저 정보를 확인하면 비교적 안전합니다. 당신은 간단한 PHP를 통해 페이지에 데이터를 통과 할 수있는 4 가지 방법이 있습니다

+0

고맙습니다. 내 길은 최선이 아니라는 데 동의합니까? – EnexoOnoma

+0

DOM 요소 (양식 입력, 링크)를 사용하면 대부분의 브라우저에있는 DOM 관리자를 사용하여 데이터를 수정할 수 있습니다. –

+0

보안상의 이유로 SESSIONS가 최선의 방법이 아닙니까? – EnexoOnoma

0

(나는 당신이 어떤 PHP 프레임 워크를 사용하지 않는 가정입니다) :

  • POST
  • 는 GET
  • SESSION
  • 조리기구

답변으로 내가 생각하는 최선의 방법은 세션입니다.

+0

GET 및 쿠키는 권장되지 않습니다. – Kracekumar

+0

SESSIONS가 내 솔루션에 더 나은 접근 방법입니까? – EnexoOnoma

+0

나는 더 안전하고 응용 범위 내에서 사용할 수 있으므로 항상 세션을 사용합니다. 귀하의 솔루션에 대해 예, 저는 세션을 사용하는 것이 바람직하다고 생각합니다. –

관련 문제