在php中重置会话变量

问题描述:

我在test.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>

order.php"看起来像这样:

The "order.php" looks like this:

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

我第一次加载 "test.php" 并输入电话号码时,它运行良好,并在 "order.php" 上给了我正确的输出,但是从第二次开始,"order.php" 给了我第一次输入的相同值,即使我输入了不同的值.我刷新了页面,结果一样.

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.

我关闭文件并重新加载它,仍然是相同的值.为什么会这样,我该如何纠正?我希望 session 每当输入一个没有发生的新数字时改变值.

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.

将新值更改为 SESSION 在您的 order.php 页面上,如下所示:-

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']);  
}
?>

还要像这样更改 test.php 代码:-

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>