dongluanguang4774 2017-07-19 09:23
浏览 63
已采纳

在php中重置会话变量

I have the following form on "test.php".

<?php
session_start();
if(isset($_POST['ph']))
    if(isset($_POST['submit']))
        $_SESSION['ph'] = $_POST['ph'];
?>
<!doctype html>
<html lang="en">
  <body>  
    <form method="POST" action="order.php" id="custphoneform">
        <label for="PhoneNumber">Enter Phone Number:</label>
        <input type="number" name="ph" required>
        <input type="submit" value="Submit" name="submit">
    </form>
  </body>
</html>

The "order.php" looks like this:

<?php
require 'connection.php';
session_start();
if(isset($_SESSION['ph']))
    echo ($_SESSION['ph']);
?>

The first time I load the "test.php" and input the phone number it works perfectly and gives me the correct output on "order.php", but the second time onward, "order.php" gives me the same value which I had entered the first time even though I input a different value. I refreshed the page, same result.

I closed the file and reloaded it, still same value. Why is it behaving that way and how do I correct it? I want session to change value whenever a new number is entered which is not happening.

  • 写回答

1条回答 默认 最新

  • douzhengnao8265 2017-07-19 09:25
    关注

    Change the new value to SESSION ON your order.php page like below:-

    <?php
    require 'connection.php';
    session_start();
    if(!empty($_POST['ph'])){
      $_SESSION['ph'] = $_POST['ph']; //change value of phonenumber inside SESSION
    }
    if(!empty($_SESSION['ph'])){
       echo ($_SESSION['ph']);  
    }
    ?>
    

    Also change test.php code like this:-

    <?php
    session_start(); // no need to do other stuff
    ?>
    <!doctype html>
    <html lang="en">
      <body>  
        <form method="POST" action="order.php" id="custphoneform">
            <label for="PhoneNumber">Enter Phone Number:</label>
            <input type="number" name="ph" required>
            <input type="submit" value="Submit" name="submit">
        </form>
      </body>
    </html>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?