2012-03-23 14 views
0

我已經創建了一個表格receipt.php其中數據以正常方式輸入。達到所謂方式支付領域後,提供了兩個單選按鈕:在PHP中,切換到另一頁,然後切換到當前頁面,而不會丟失當前頁面中的字段值

1. DD/cheque 2. E-transfer

在點擊收音機1,dd_detail.php應該出現並點擊第二廣播電臺,e_trans.php應出現。

填寫完dd或e-trans詳情後,我需要點擊「ACCEPT」按鈕。然後我應該得到前一頁receipt.php而不會丟失任何填充值。

的問題是點擊接受按鈕後,我已進入receipt.php頁面的字段值是空的......!

該怎麼辦?

+0

發送值,將它們存儲在會話中等。 – scibuff 2012-03-23 11:36:52

+0

你最好在php中通過會話,它會回答你。 – Ben 2012-03-23 11:38:23

回答

0

PHP提供會話支持。它基於cookie,臨時數據保存在服務器上。要開始,您的PHP的第一行需要是<?php session_start(); ?>

請注意,它必須是PHP程序中的第一件事 - 包括空格在內的任何內容都可以顯示在其之前,否則會引發錯誤或不會工作。

之後,您可以讀取/寫入一個特殊的$ _SESSION數組。例如,你的PHP文件的開頭可能有這樣的:

<?php 
session_start(); 

// if user clicks submit, save this for later 
if(isset($_POST['username'])) $_SESSION['username'] = $_POST['username']; 
?> 

現在,表單字段本身應該是可選預填充:

<input type="text" name="username" value="<?php echo $_SESSION['username'] ?>" />

如果你的數據是相當易於管理,可以將整個$ _POST變量轉儲到$ _SESSION中。例如:

<?php if(!empty($_POST)) $_SESSION['data'] = $_POST; ?>

之後,你可以參考上面保存的字段作爲$ _SESSION [ '數據'] [ '用戶名'。這取決於你將其重新加入到你的工作流程中。

+0

呃...我已經在我的表單中使用了很多會話變量。有沒有其他方法可以解決這個問題? – SKL 2012-03-24 09:58:03

+0

做表單處理是PHP中的一種傳遞方式。通過通過AJAX千方百計繞過所有的複雜性 - 對於大多數程序員來說,形式的發展階段,從通過$ _ POST傳值,使用$ _SESSION,以存儲會話項目數據庫,並改寫表單域OOP類,然後啓動。如果沒有強有力的理由在PHP中完成這項工作,只需使用JavaScript和花哨的HTML即可。例如,在這裏查看所有可用的部件:http://jquerytools.org/demos/tabs/wizard.html – pp19dd 2012-03-24 10:08:26

+0

感謝ü先生的答覆...這是太有用了我的project.I已經使用Session變量及其現在工作。但問題是每當我重置/刷新頁面的字段值不會消失!我可否知道這個原因及解決辦法? – SKL 2012-03-26 09:15:38

0

爲什麼不將它們存儲在一些$_SESSION變量中,然後從第二個腳本中檢索它們?

例如:

// First script 
$_SESSION['myfield'] = $value; 

// Second script 
$value = $_SESSION['myfield']; 
+0

感謝Ur的迴應...可以請詳細說明這一點......因爲我對這種語言非常陌生......在哪種形式下我需要使用這個SESSION變量? – SKL 2012-03-23 12:03:58

+0

使用SESSION其工作...但每當我重置/刷新頁面輸入字段值不會消失...任何解決方案呢? – SKL 2012-03-26 09:45:12

相關問題