2011-03-08 19 views
0

。我有三個PHP頁面:從一個PHP到多個PHP傳遞參數

page1.php中 使page2.php page3.php

對我page1.php中有這樣的代碼:

<form id="try" method="post" action="page2.php"> 
Batch: <input id="batch" name="batch" type="text"/><br /> 
Dept: <input id="dept" name="dept" type="text"><br /> 
<input type="submit" /> 
</form> 
在page2.php中將我能夠通過簡單地使用 $_POST['batch']; and $_POST['dept'];

稱他們使用插在了page1.php中值,但我婉

接下來做的是將批次和部門的值從page2.php傳遞給page3.php。或者可能從page1.php到page2.php,因爲我認爲它是一樣的。

。請幫助!

session_start(); 
$_SESSION['batch'] = $_POST['batch']; 
$_SESSION['dept'] = $_POST['dept']; 

,然後: - 謝謝進階

@ kjy112我很困惑,因爲我使用

<form method="post"> 

,我應該通過以下首發上使page2.php我的會議使用

session_start(); 
$batch = $_SESSION['batch']; 

要在page3.php上使用它嗎?

+0

它應該工作,如果你在會議中設置它。只要你確定session_start()' – kjy112 2011-03-08 20:41:11

+0

。好的另一個問題,在向瀏覽器輸出任何東西之前必須調用session_start()的意思嗎?如果我的目的是在SQL查詢中使用批處理和分區,這也可以工作嗎? – zerey 2011-03-08 20:56:27

+0

我不熟悉使用會話W /批處理和部門SQL查詢(你是什麼意思的部門?)。至於session_start,「要使用基於cookie的會話,必須在向瀏覽器輸出任何內容之前調用session_start()。」基本上確保在使用會話之前調用該會話,並確保它在頁面頂部。 – kjy112 2011-03-08 23:03:00

回答

3

Per @Crayon Violent:要使用基於cookie的會話,必須在向瀏覽器輸出任何內容之前調用session_start()。

你需要使用PHP SESSION你可以獲取/設置是這樣的:

// page1.php 

session_start(); 
$_SESSION['myvar'] = 'test'; 

//page2.php 

session_start(); 
$myvar = $_SESSION['myvar']; 
echo $myvar; //should be test; 

//page3.php 
session_start(); 
echo $_SESSION['myvar']; //should give u test still 
+1

有一點需要注意的是,session_start()必須在任何輸出之前出現,即使你想要使用它的所有頁面上都有空格(除非你想使用輸出緩衝,你不應該這樣做) – 2011-03-08 20:14:56

+0

@CrayonViolent謝謝,我將在 – kjy112 2011-03-08 20:15:25

+0

中加上,請你再次查看我的問題,我有以下問題。 TNX! – zerey 2011-03-08 20:31:56

1

利用會話變量。

+0

+1用於擴充答案 – kjy112 2011-03-08 20:20:07

0

您可以在$ _POST值保存到$ _SESSION變量:

$_SESSION['POST'] = $_POST; 
+0

。這意味着我可以使用類似 session_start(); $ _SESSION ['batch'] = $ _POST ['batch']; $ _SESSION ['dept'] = $ _POST ['dept']; – zerey 2011-03-08 20:46:30

+0

是的,你可以做到這一點 – Neal 2011-03-08 21:14:13

0

之一,從一個腳本移動到另一個值的方式,並無需擔心哪個腳本以什麼順序訪問,是使用一個session

當你的腳本啓動時,你打開會話。這使您可以訪問$ _SESSION超全局,如$ _POST。您可以在一個腳本中寫入$ _SESSION數組並在另一個腳本中讀取它。這一切都在服務器上處理,因此您可以將所需的任何數據存儲到會話中,而無需擔心用戶看到此數據。它非常有用,通常與多部分表單,登錄網站一起使用,並跟蹤用戶在用戶訪問的頁面上的用戶選擇。

0

在評論

你是什麼在session_start(意味着只是回答問題)必須在輸出之前被調用 什麼東西給瀏覽器?

意味着它是最好的做法把在session_start()<?php<?php session_start();後直接並確保PHP的開始標記是不是以後<html>標籤。

如果我的目的是使用SQL 查詢上的批處理和部門,這也可以工作嗎?

是的,當然,只需在$_SESSION['']變量中設置所有參數(sql,dept)。