Как сохранить номер отображается при отправке формы для себя - PullRequest
1 голос
/ 27 марта 2012

Ниже у меня есть приложение.Теперь на предыдущей странице пользователь вводит число и отправляет форму на эту страницу.Затем номер отображается на этой странице.Теперь на этой странице пользователь отправляет форму самому себе, но проблема в том, что число затем исчезнет.Как сохранить номер, отображаемый после отправки формы для себя?

 <?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;
    ?> 

Ответы [ 3 ]

1 голос
/ 27 марта 2012

Изменение:

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

на

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

. Это не приведет к сбросу sessionNum в сеансе, если вы не отправите форму с вводом с именем sessionNum

0 голосов
/ 27 марта 2012
<script type="text/javascript">
$(document).ready(function() {
    $('form').submit(function(){
    <? if (isset($_POST['sessionNum'])) 
    {   
          $_SESSION['sessionNum'] = $_POST['sessionNum'];
    }
    ? >
}

0 голосов
/ 27 марта 2012

вы можете использовать isset , чтобы увидеть, существует ли сессия

      $_SESSION['session_num'] = (isset($_SESSION['session_num'])) ? 
             $_SESSION['session_num'] : 
             $_POST['num];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...