2012-03-27 2 views
1

Unten habe ich eine Anwendung. Auf der vorherigen Seite gibt der Benutzer nun eine Zahl ein und reicht das Formular in diese Seite ein. Die Nummer wird dann auf dieser Seite angezeigt. Auf dieser Seite gibt der Benutzer das Formular an sich selbst weiter, aber das Problem ist, dass die Nummer dann verschwinden würde. Wie behalte ich die Nummer, die nach dem Absenden des Formulars angezeigt wird?Wie Nummer angezeigt wird, wenn Sie das Formular an sich senden

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

Hat jemand nicht sehen, liegt vor, wenn eine Nummer eintippen? –

+0

um .... Ich sehe nicht den Eingang namens sessionNum ... –

+0

@KyleMacey OP sagt auf der vorherigen Seite. –

Antwort

1

Wechsel:

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

zu

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

dies die sessionNum in der Sitzung nicht zurückgesetzt, wenn Sie ein Formular mit einem Eingang mit dem Namen Post sessionNum

+0

danke das hat funktioniert :) Ich werde es als beste Antwort markieren, wenn es mich in 6 Minuten – user1292857

0

Sie können isset verwenden zu sehen, ob Sitzung

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

das ist nicht einmal gültig PHP .... – ManseUK

+0

Ich möchte wirklich wissen, warum Sie denken Es ist kein gültiges PHP. –

+0

siehe hier http://codepad.org/ZUXZUa0o – ManseUK

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

+0

das wird nicht funktionieren - PHP ist Server-Seite, JavaScript ist Client-Seite .... so wird das PHP vor dem Senden des Formulars ausgeführt werden – ManseUK

Verwandte Themen