2016-06-17 6 views
0
변수

에 저장예를 들어 domain.com/?id=username, URL에서 ID를 확인하고 내가 URL에서 데이터를 얻을 필요가

사용자 이름을 한 사용자에서 다른 사용자에 따라 다를 것입니다 ... 그들이 웹 사이트를 방문하면 그런 링크를 통해 웹 사이트를 돌아 다니며 어떤 시점에서 양식을 채울 수 있습니다. 그들이 웹 사이트를 돌아 다녔기 때문에 url은 경로에? id = username이 없으므로 양식과 함께 보낼 수 있도록 변수에 해당 데이터를 저장해야합니다.

나는 내가 할 때, 몸이 코드를 구현해야하기 때문에)

내가 (위한 ob_start 사용 (그래서 쿠키가 세션/브라우저 종료 후 새로 고쳐집니다) 설정 및 세션 당 쿠키를 저장할 필요가 가정 헤더가 이미 전송되었습니다.

ob_start(); 
session_start(); 
$affid = $_GET['id']; 
setcookie('affid',$affid, 0, "/"); 
$finalaffID = $_COOKIE['affid']; 
ob_end_clean(); 
echo '<span class="testoutput">'.$finalaffID.'</span>'; 

일부 시도 후, 나는이 코드를 가지고,하지만 난 몇 페이지 주위를 이동 한 후 그 값을 저장 나던, 그것은 단지는 초기 페이지 방문에 보여줍니다.

어떤 아이디어로주세요?

+1

". 쿠키가 설정되고 나면 *, 그들이'$ _COOKIE' 배열로 ** 다음 페이지로드 **에 액세스 할 수 있습니다 *"http://php.net/ manual/en/function.setcookie.php – Qirel

+2

ID를 세션에 저장하면 어떤 페이지에서나 사용할 수 있습니다 :'$ _SESSION [ "id"] = $ _GET [ "id"];', 폼이나 쿠키가 필요 없습니다 (모든 페이지에서'session_start();'를 잊지 마라!). –

+0

"* 세션 당 쿠키를 설정하고 저장해야한다고 가정합니다. 세션/브라우저 종료 후 쿠키가 새로 고침됩니다. *"예, 브라우저가 닫히면 세션이 삭제되고 쿠키의 수명이 길어질 수 있습니다. 해당 페이지에서 쿠키 내용을 사용하려면 다시로드하기 전에'$ affid'를 사용하고 페이지를 새로 고친 후 또는 다른 페이지에 액세스 한 후에는'$ _COOKIE [ 'affid']'를 사용할 수 있습니다. – Qirel

답변

1

세션 변수를 사용할 수 있습니다.

$_SESSION["id"] = $_GET["id"]; 

이 세션은 세션이 열려있는 곳이면 어디서나 액세스 할 수 있습니다. $_SESSION["id"]으로 전화하면됩니다.

index.php를

URL : www.domain.com/?id=user

<?php 
     session_start(); 
     if (isset($_GET["id"])) { 
       $_SESSION["id"] = $_GET["id"]; 
    } 
?> 

otherpage.php

URL : www.domain.com/otherpage.php

<?php 
session_start(); 
if (isset($_SESSION["id"])){ 
echo $_SESSION["id"]; 
} 
?> 
+0

도움 주셔서 감사. $ _SESSION [ "id"] = $ _GET [ "id"]; 이것은 초기 페이지로드에 에코를 표시 할 때 나타나지만 일부 다른 페이지로 이동하면 아무 이유없이 해당 페이지가 비어/null로 표시됩니다. – Domeniko

+0

@ArchieVigaca'$ _SESSION'을 사용하려고하는 모든 페이지는 출력하기 전에'session_start();'를 호출해야합니다. * 모든 페이지 *는 세션을 사용하려고합니다. – Qirel

+0

해당 페이지에서'session_start();'를 호출해야합니다. – Buildersrejected

1

호세는 세션에 ID를 저장하는 것이 옳습니다. 여기에 ID를 구체적으로 다루는 게시판이 있습니다 : Cookie vs Session for Storing IDs

그러나 쿠키로 저장하려면이 코드에 ID가 저장되어 있어야합니다.

$id = $_GET['id']); 
setcookie('id', $id); 

그리고이 코드를 사용하면 ID를 검색 할 수 있습니다! 워드 프로세서

echo $_COOKIE['id']; 
+0

감사합니다. Iray Li. 세션 변수 옵션을 사용했지만 솔루션도 제대로 작동했습니다. – Domeniko

+0

예! 세션을 사용하는 것이 좋습니다. 쿠키보다 훨씬 좋고 업데이트하기도 쉽습니다. :-) –

관련 문제