2012-03-27 36 views
1

下面我有一个应用程序。现在在上一页中,用户键入一个数字并将表单提交到此页面。该号码然后显示在该页面中。现在在这个页面上,用户将表格提交给自己,但问题是这个数字会消失。将表单提交给自己后,我如何保留此号码?如何在提交表单时自动显示号码

<?php 
    session_start(); 
    //validate the post data if necessary 
    $_SESSION['sessionNum'] = $_POST['sessionNum']; 
    ?> 

    <script type="text/javascript"> 

    function showConfirm(){ 

     var confirmMsg=confirm("Make sure that your details are correct, once you proceed after this stage you would not be able to go back and change any details towards Questions, Options and Answers for your Session." + "\n" + "\n" + "Are you sure you want to Proceed?" + "\n"); 

     if (confirmMsg==true) 
     { 
      submitform(); 
     } 
    } 

    function submitform() 
    { 
     var sessionMarksO = document.getElementById("sessionMarks"); 
      sessionMarksO.submit(); 

    } 
    </script> 
    <body> 

     <form id="enter" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" onsubmit="return validateForm(this);" > 
      <p><input id="submitBtn" name="submitDetails" type="submit" value="Submit Details" onClick="myClickHandler(); return false;" /></p> 
    </form> 

    <script type="text/javascript"> 

    function myClickHandler(){ 
     if(validation()){ 
        showConfirm(); 
     } 
    } 

    </script> 

    <?php 
    $outputDetails = ""; 
    $outputDetails .= " 
    <table id='sessionDetails' border='1'> 
    <tr> 
    <th>Number of Sessions:</th> 
    <th>$_SESSION['sessionNum']</th> 
    </tr>"; 
    $outputDetails .= "</table>"; 

    echo $outputDetails; 
    ?> 
+0

没有任何其他人看不到在输入一个数? – 2012-03-27 15:32:06

+0

恩....我没有看到名为sessionNum的输入... – 2012-03-27 15:32:11

+0

@KyleMacey OP说在前一页。 – 2012-03-27 15:32:29

回答

1

变化:

$_SESSION['sessionNum'] = $_POST['sessionNum']; 

if (isset($_POST['sessionNum'])) { 
    $_SESSION['sessionNum'] = $_POST['sessionNum']; 
} 

这不会重置sessionNum会话,除非你发布的形式与名称sessionNum

+0

谢谢你已经工作:)我将它标记为最佳答案,当它让我在6分钟 – user1292857 2012-03-27 15:38:57

0

输入你可以使用isset看是否存在会话

 $_SESSION['session_num'] = (isset($_SESSION['session_num'])) ? 
      $_SESSION['session_num'] : 
      $_POST['num]; 
+0

即使不是有效的PHP .... – ManseUK 2012-03-27 16:13:04

+0

我真的想知道你为什么想这不是一个有效的PHP。 – 2012-03-27 16:36:47

+0

请看这里http://codepad.org/ZUXZUa0o – ManseUK 2012-03-28 08:06:50

0
<script type="text/javascript"> 
$(document).ready(function() { 
    $('form').submit(function(){ 
    <? if (isset($_POST['sessionNum'])) 
    { 
      $_SESSION['sessionNum'] = $_POST['sessionNum']; 
    } 
    ? > 
} 

+0

不会去工作 - PHP是服务器端,JavaScript是客户端....所以PHP将在提交表单之前执行 – ManseUK 2012-03-27 16:12:34