2012-01-09 4 views
1

하나의 PHP 파일에서 다른 PHP 파일로 변수를 전달하는 데 문제가 있습니다. 나는 단지 그것을 표시 할 다른 PHP 파일에 varialbe $ 삽입을 보내려고합니다. 내 삶에 대해, 나는 그것이 효과가 없을 이유를 알 수 없다.

도움이 될 것입니다. 감사.

1 PHP 파일

<?php 

session_start(); 
$insert = rand(5, 1500); 
$_SESSION['finalimage'] = $insert; 

header("Location: http://www.shmoggo.com/snapshot/snapshot_view.php"); 

echo base64_decode($_POST["image"]); 

$final = base64_decode($_POST["image"]); 


$newpath = "uploads/" . $insert . ".jpg"; 
file_put_contents($newpath, $final); 

?> 

2 PHP 파일 ($ _SESSION에 [ 'finalimage를'] $ 삽입 보내기)

<?php 

session_start(); 
$insert = $_SESSION['finalimage']; 
echo "Image Number = ". $insert; 

?> 
+3

"작동하지 않을 것"이란 정확히 무엇을 의미합니까? –

+1

어떤 일이 발생하거나 발생하지 않습니까? –

+4

두 페이지가 같은 도메인에 있습니까? –

답변

1

($ _SESSION [ 'finalimage']에서 $ 삽입 받기) 먼저 PHP 설치가 세션을 지원하는 방법을 확인해야합니다. 두 가지 방법이 요청 사이의 세션 ID "지속"에 대한 있습니다 쿠키를 사용하는 경우 "URL 재 작성")

1 쿠키 또는 사용 2)을 사용하여 (즉, 각 URL은

)는 세션 ID 값을 전달 서버가 실제로 브라우저에 쿠키를 보내는 지 확인하십시오.

url-rewriting을 사용하는 경우 보내려는 위치 헤더를 다시 라우팅하고 "snapshot_view.php"로 클라이언트 브라우저가 세션 ID를 포함하도록 수정해야합니다. 이와 같이 :

$reroute = 'Location: http://www.shmoggo.com/snapshot/snapshot_view.php?PHPSESSID=' . session_id(); 
header($reroute); 
+0

이것이 내가 필요한 것입니다. 감사합니다. 파이어 폭스는 쿠키 방법이 작동하도록 쿠키를 활성화하지 않습니다. 쿠키를 사용해서 똑같은 일을하도록 내게 준이 코드를 사용하는 방법을 알아낼 수는 없습니다 ... 현명한 말입니까? – Aaron

+0

안녕하세요 Aaron - 브라우저에서 세션 ID를 유지하기 위해 쿠키를 사용하는 경우 각 요청과 함께 쿠키가 자동으로 전송되기 때문에 위의 코드는 필요하지 않습니다. URL 재 작성은 쿠키 지원에 의존하지 않지만 모든 URL에 PHPSESSID 값이 포함되어야 함을 의미합니다. PHP는 자동으로 ** 대부분 **를 처리하지만 "위치"헤더를 보낼 때는 수동으로해야합니다. PS 원본 코드에서 "Header()"호출을 코드 끝으로 이동시켜 이미지 파일이 디스크에 커밋되기 전에 요청을 다시받지 않도록해야합니다. –

+0

도움 주셔서 감사합니다! – Aaron

관련 문제