2011-10-08 39 views
0

我知道我没有任何价值或sanitziation。这将增加:d从表单,流程中取数据并返回到相同的表格

我现在有一个PHP的形式,请求以下信息:

  • 魅力。工资
  • 员工人数
  • 养老吸收PCT
  • 养老Contributuin PCT

,然后提交,并通过一个名为SSESC.php(代码将在下面),文件处理连线。

应该然后返回,计算出的数据为场全员贡献($TEC)和总储蓄($NISAVING

我能传递给SSEC.php文件中的数据,并对其进行处理(测试通过回声),但我无法获取数据并显示在窗体上。

我试图将数据保存到会话中,然后返回并重新填写表单。我使用<?php header ("location: form.php");?>从脚本返回。这有效,但表单没有填写。我将从表单中包含下面的代码片段。

SSESC.php代码

<?php header ("location: form.php");?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>SSEC-Process</title> 
</head> 
<?php 
setlocale(LC_MONETARY, 'en_GB'); 
$Average_Salary = $_POST["Average_Salary"]; 
$EMPNUM = $_POST["EMPNUM"]; 
$PUPCT = $_POST["PUPCT"]; 
$PCPCT = $_POST["PCPCT"]; 
$TEC = ""; 
$NI_save = ""; 

$employeepension = $PCPCT/100; 
$pensionuptake = $PUPCT/100; 

$TEC = $Average_Salary*$employeepension*$EMPNUM*$pensionuptake; 
$combi = $TEC*13.8/100; 

$NI_save = money_format('%.0i', $combi); 

$_SESSION["TEC"] = money_format('%.0i',$TEC); 
$_SESSION["NISAVE"] = $NI_save; 

?> 

<body> 
</body> 
</html> 

形式摘录

<input id="TEC" name="TEC" class="Label" type="text" maxlength="255" value="<?= $_SESSION['TEC']?>"/> 


<input id="NI_save" name="NI_save" class="label" type="text" maxlength="255" value="<?=$_SESSION['NISAVE']?>"/> 

在此先感谢。 Steve。

+0

您的帖子中缺少一些代码。表单片段被包含在主文件中的位置在哪里? –

+0

您是否在代码顶部添加了'session_start();'?无论是在流程脚本中的形式?启用'error_reporting'来查看出了什么问题。 – PeeHaa

+0

这没有意义,你在第一行中重定向到form.php ?! –

回答

1
  1. 你是不是开始会话处理器。你应该在两个脚本上都有 session_start();。 (在这个脚本和form.php中,都在顶部)
  2. 为什么你要输出HTML,如果你没有显示任何内容,并且重定向到另一个文件呢?
  3. 删除处理脚本中不必要的HTML,并将header()调用移动到处理脚本的底部。
+0

宾果,谢谢Dvir,我忘了添加session_start(); – Steve

1

我会建议编写标准标签(<?php echo),因为短端标签并不总是启用。所以你必须写:

value="<?php echo $_SESSION['TEC']?>" 

你在这个陈述之前打过session_start吗?

试试这个,然后做一个var_dump来测试值是否设置正确。

+0

谢谢,我错过了Sesion_start,除此之外,所有好的感谢 – Steve

1

尝试用修改你的表单:

<input id="TEC" name="TEC" class="Label" type="text" maxlength="255" value="<?php echo $_SESSION['TEC']?>"/> 


<input id="NI_save" name="NI_save" class="label" type="text" maxlength="255" value="<?php echo $_SESSION['NISAVE']?>"/> 
+0

这不会有任何区别... –

相关问题