2017-03-31 1 views
1

저는 PHP 차트 작성 패키지로 작업 중입니다. answer.html 페이지로 보내는 form.html부터 시작합니다. answer.php는 SESSION을 생성합니다. 그런 다음 필요한 test.php 페이지는 세션을 선택하지만 필요한 graph.php 페이지는 그렇지 않습니다. 양식의 데이터를 그래프로 전송할 수 없습니다. 필요한 phplot.php는 그래프 엔진이며 SESSION 스레드에는 필요하지 않습니다.세션은 한 페이지에서 작동하지만 다른 페이지에서는 작동하지 않습니다.

5 일간의 연구와 테스트에 행운이있었습니다. 여러 번 코딩을 전환했습니다. 훌륭한 PHP 경험을 가진 사람이 쉽게 뭔가를 인식 할 수 있기를 바랍니다.

3 페이지의 코드는 다음과 같습니다.

answer.php 페이지 :

<?php 
session_unset(); 
session_start(); 
require_once 'phplot/test.php'; 
?> 
<?php 
$_POST['bs_now2'];$bs_now2 = $_POST['bs_now2'];$_SESSION['bs_now2'] = $bs_now2; 
echo "<div id='graph'>"; 
echo "<p class='martop10 f18 b'>Graph:</p>"; 
echo "<img src='phplot/graph.php'>"; 
echo "</div>"; 
?> 
<?php 
session_destroy(); 
?> 

graph.php 페이지 :

<?php 
$Sbs_now2 == 0; 
session_start();# Is this redundant? I've tried it in and out. 
?> 
<?php 
require_once 'phplot.php';#Graph engine 
$delta = 0.1;$sigma = 15;$sqrt2pi = sqrt(2*M_PI);$u = 75; 
$data = array(); 
for ($x = 0; $x <= 150; $x++) 
    $data[] = array('', $x, $Sbs_now2 + $x); 
unset($Sbs_now2); 
?> 

test.php 페이지 :

<?php 
#I don't need the session_start() for this page 
$_POST['bs_now2'];$bs_now2 = $_POST['bs_now2'];$_SESSION['bs_now2'] = $bs_now2;$Sbs_now2 = $_SESSION['bs_now2']; 
echo '<b>Session BS Now: '.$Sbs_now2.'</b><br>'; 
?> 

감사합니다,

게리

+0

질문에 자세한 내용을 추가하십시오. 샘플 코드를 제공하는 방법은 여기를 참조하십시오. https : // stackov erflow.com/help/mcve – dparoli

+0

감사합니다. 나는 방금 내가 새롭고 포럼을 학습하면서 포스트를 다시 포맷했다. – landt5

답변

0

첫 번째 일 $ _SESSION 변수에서 데이터를 가져올 수없는 코드에 세션 시작이 없으면 "session_start()"를 통해 세션을 시작해야하는 모든 페이지에서 $ _SESSION을 사용합니다. $ _POST를 사용하는 것이 좋습니다. 변수 귀하의 PHP 세션은 완전하지 않고 문제

를 사용하여 발생하지 않습니다이 : 내가

건배

+0

답변 해 주셔서 감사합니다. 내가 session_start()의 모든 조합을 시도하고 한 페이지에서 작동하지만 다른 페이지에 대해 잘 모르겠습니다. 데이터는 x = 0에서 x = 150까지의 숫자의 반복 또는 목록이어야합니다. 나는 ($ _POST 통과) 옵션에 흥미가있다. 나는 그것을 찾았고 세션을 시도한 후에 두 번째 선택 인 것으로 보인다. – landt5

+0

@ landt5 Youre Welcome –

+0

추가 연구를 통해 'href'또는 'require'또는 'include'와 비교하여 'src'가 사용될 때 세션 및 기타 기능이 통과 될 수없는 각도를 발견했습니다. 이것이 사실인지 아는 사람이 있습니까? – landt5

0

안녕 루이를 도왔다

<?php 
// passing data to the post 
$_POST['data'] = "Test using Post"; 
// Receiving the data from the post 
$data = $_POST['data']; 
// to test and see if it works 
echo $_POST['data']; // or echo $data 

희망 (패스는 $ _POST를 축복하는) z Fernando Sousa Camargo 및 전체,

Luiz Fernando Sousa Camargo의 도움을 받아서 얻었습니다!

<?php 
session_unset(); 
session_start(); 
require_once 'phplot/test1.php'; 
?> 
<?php 
$_POST['bs_now2'];$bs_now2 = $_POST['bs_now2'];$_SESSION['bs_now2'] = $bs_now2;$Sbs_now2 = $_SESSION['bs_now2']; 
echo "<div id='graph'>"; 
echo "<p class='martop10 f18 b'>Graph:</p>"; 
echo "<img src='phplot/bs4c.php?bs_now2=$Sbs_now2'>";#CHANGE: 
#I set bs_now2= to the session variable(as it would come from the form input). No other changes. 
echo "</div>"; 
?> 
<?php 
session_destroy(); 
?> 

graph.php 페이지가 하나의 중요한 변화가 있습니다 :

answer.php 페이지는 하나의 변화가

<?php 
$Sbs_now2 == 0; 
session_start(); 
$_GET['bs_now2'];$bs_now2 = $_GET['bs_now2'];$_SESSION['bs_now2'] = $bs_now2;$Sbs_now2 = $_SESSION['bs_now2'];#CHANGE 
#Use GET to acquire the session variable 
#Remove End php and Start php Marks(not important) 
require_once 'phplot.php'; 
$data = array(); 
for ($x = 0; $x <= 150; $x++) 
    $data[] = array('', $x, $Sbs_now2 + $x); 
unset($Sbs_now2); 
?> 

당신 루이스 페르난도 소우 카 마르고와 모든 감사를

게리

+0

답변에 기여한 회원의 평점은? 나는 그의 공로로 Luiz Fernando Sousa Camargo를 인용하고 싶다. – landt5

관련 문제