2014-12-02 52 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