2014-12-02 45 views
-1

類型索引形式字段粘我必須包括在功能可按例如某種形式的類型=索引字段。名字,姓氏。該表單使用一個單獨的handle.php頁面。我無法弄清楚如何使它變得粘稠(如果我刷新頁面,保留最後輸入的值)。因爲如果有錯誤輸入,我會將頁面刷新回表單,並且希望查看保留的最後一個輸入字段條目。我試過$ _SESSION ['fname']和$ _POST ['fname']。似乎都不上班......正確的語法要在PHP

這是一個沒有粘性

echo "<tr><td>First Name:<input type='text' name='fname' value=''></td>"; 

這是我認爲作品如果沒有一個PHP塊

<td>First Name:<input type='text' name='fname' placeholder='First Name' value="<?php if(isset($_SESSION['fname'])) echo ;?>" ></td> 
+0

你需要表現出更多的代碼,因爲這是不是很複雜做 – 2014-12-02 01:17:11

+0

好吧....什麼樣的代碼? – ksdst1 2014-12-02 01:52:57

+0

問題是,我有一個form.php和handle.php如果我輸入信息,點擊提交,並得到一個錯誤,我需要回去,它不保留$ _POST值..... – ksdst1 2014-12-02 01:54:07

回答

0

你接近中!

你們的榜樣缺少呼應的論點。試試這個:

<?php if(isset($_SESSION['fname'])) echo $_SESSION['fname'];?> 

但是,表單默認情況下永遠不會提交給$ _SESSION。

,如果你有<form action='handle.php' method='get'>你的變量會在$ _GET超全局,如果你有方法=後他們在$ _ POST即`$ _ POST [「FNAME」]

你必須手動把東西可用在會議上,即

$_SESSION['fname'] = $_POST['fname'](我們只是複製後FNAME值到會話)

一般的東西,比如驗證一個表單,最好是使用$ _REQUEST,$ _ POST或$ _ GET,而不是把$ _SESSION中的變量。 $ _SESSION因爲記住了所有內容而變得擁擠,並且表單驗證通常不需要記住多於一個請求。如果你刷新頁面瀏覽器

$ _ POST變量將不會被記住。該$ _ POST變量將只發佈如果你發佈形式(提交)到服務器。如果您試圖記住它們以進行瀏覽器刷新,則必須像上述示例一樣手動將變量複製到會話中。

如果您只是想訪問您的下一頁上的變量,它們將在$ _POST或$ _GET超全局變量中可用,具體取決於您的表單。

如果你想將它們傳回表單頁面,這樣做的方法取決於你如何重定向。您可能需要發佈它們或將它們添加到網址,並從超級全球網頁的表單頁面訪問它們。

+0

偉大信息。 TNX。由於我正在使用單獨的handle.php文件,所以在刷新到表單頁面時清除&_POST ['fname']值。我接受了你的建議,將post值傳遞給一個變量+ $ _Session變量,並在函數結尾處取消設置的值。 – ksdst1 2014-12-02 14:42:20