2009-12-02 218 views
0

給定一個PHP的形式提交給it'self, 通過<?php echo $_SERVER[‘PHP_SELF’];?>PHP會話創建並銷燬提交?

而同樣的形式與一些html和一個提交按鈕

<label for="submit">Submit</label> 
<input id="submit" type="submit" value="Submit Info:" /><br /> 

如何設置它,這樣,當用戶已完成輸入的所有形式(一,form.php的)上的相關信息 ,沒有任何錯誤,會話被銷燬,按 提交按鈕後。

我知道這將啓動一個會話:

<?php session_start() ?> 

在表單的頂部。

而這破壞了會話變量

session_destroy(); 

我會做這樣的事情:

$_SESSION[‘submit’] = ‘submit’; 

我試圖避免我的表單上的每個變量創建會話,爲 例如,

name

age

這聽起來像這將是大量的工作,以創建每個 變量指定形式的會話,這就是爲什麼我在這裏尋求答案,在此期間 我會閱讀更多的會議,感謝您不要燃燒新生。

+0

我兩次閱讀你的問題,不幸的是,我仍然不知道爲什麼你想要會話被破壞,你是什麼意思,爲每個變量創建會話。你認爲一個會話只能保存一個變量嗎? – stefita 2009-12-02 09:27:42

+0

不,我不認爲一個會話只能保存一個變量。 我只想知道我是否可以這樣做: $ _SESSION ['submit'] ='submit';但是沒關係,我想我會找到答案。 – Newb 2009-12-02 15:01:42

回答

2

究竟爲什麼要使用會話?如果是formprocessing你應該使用POST或者另外GET。 SESSIONS是存儲配置,訪問級設置,購物車等的好方法。

順便說一句,如果你要使用會話,你也可以創建一個會話並將所有sessiondata存儲在一個數組中,然後將該數組提交給$_SESSION["mySession"]

E.g.如果你必須表明這可能像$_SESSION["mySession"]["maximum_amount_of_weblogs_per_page"]檢索頁面上的博客的最高金額。

然後你必須添加array("maximum_amount_of_weblogs_per_page" => 10);$_SESSION["mySession"]

希望它對你有用。

+0

謝謝。 順便說一句,如果你要使用會話,你也可以創建一個會話並將所有sessiondata存儲在一個數組中,然後將該數組提交給$ _SESSION [「mySession」],再次感謝你。 – Newb 2009-12-02 15:09:23

1

會話和形式是兩個不同的東西。我不太清楚你想要什麼,首先你會說摧毀一個會話,這是完成的,如你所說,用session_destroy(); - 然後你談談你的表單的變量...

提交表單存儲他們的數據在$_GET$_POST -variable,而不是在$_SESSION - 如果你不想那些,什麼形式的地步呢?

看到的,如果用戶點擊提交會發生什麼?表單提交到同一頁面,到目前爲止我明白了。

但是,爲什麼你認爲你創建在表單中的每個領域的$_SESSION

+0

正如Ben Fransen所指出的那樣,我只是認爲有一種更優雅的方式來做到這一點。 我想下次我將我的問題保持簡短:「我該如何設置它,以便當用戶完成輸入窗體上的所有相關信息(one,form.php)而沒有任何錯誤時,會話是按下提交按鈕後被銷燬。「 所以我想我是獨立的,我想我可以在追求學習的時候摧毀我自己的課程? – Newb 2009-12-02 15:08:21