2011-10-08 42 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

這不會有任何區別... –

相關問題