如何在不断更改其值的同时访问多个PHP页面上的变量或变量值或变量

时间:2017-09-24 18:35:05

标签: php

我想在给定的场景中访问变量$i,因为它是一个递增的变量,它在订单后改变了值。那么如何在任何其他页面中重复使用它。更多的告诉我,我怎么能使用任何"变量/可变的最后值"在没有会话的多个页面上。并且会话会在更改时更新变量值,如果是,那么如何?并且有很多方法可以做到这一点?

 <?php include ('header.php'); 

    if(isset($_POST['order']))
    {
        $user_id  = $_SESSION['id'];
        $date      = date('Y-m-d H:i:s');
        $username =$_SESSION['username'];
        mysql_query("INSERT INTO tborder(user_id,`date`,username) VALUES('$user_id','$date','$username')") or die(mysql_error());
        $i = mysql_insert_id();
        if($i >0)
            for($l=0;$l<count($_POST['product_id']);$l++)
            {
                $product_id = $_POST['product_id'][$l];
                $quantity   = $_POST['quantity'][$l];
                $price      = $_POST['price'][$l];
                $discount   = $_POST['discount'][$l];
                $amount     = $_POST['amount'][$l];
                $username   = $_SESSION['username'];
                $user_id    = $_SESSION['id'];


        mysql_query("INSERT INTO tborderdetail(order_id,product_id,quantity,price,discount,amount,username,user_id) VALUES('$i','$product_id','$quantity','$price','$discount','$amount','$username','$user_id')")or die(mysql_error());
                header('location:order.php');
            }
    }

    ?>

2 个答案:

答案 0 :(得分:0)

缓存!

每次更改值时,通过将变量值存储在cookie中,您可以在整个域中的多个页面上使用该变量。

但是,需要考虑cookie到期时间,如果该值将在整个会话中存在,则将其存储在会话cookie中(直到浏览器关闭)将非常有用。

希望它有所帮助!

答案 1 :(得分:0)

  

我如何使用任何&#34;变量/可变的最后值&#34;在没有会话的多个页面上。

PHP变量被丢失&#34;在页面请求之间,除非您将它们存储在会话中。如果您不想使用会话来存储数据,那么有很多选择:

  • 在页面之间传递值作为GET或POST变量。任何错误和价值都会失去&#34;再次,因为它没有永久存储。用户可以自己查看和更改值。
  • 存储在 Cookie 中。用户再次可以自己查看和更改值。
  • 关系数据库,例如MySQL,PostgreSQL。创建一个表来存储和查询页面所需的值。
  • 键值存储,例如Redis,memcache。定义一个键并根据需要读/写该值。
  

会话会在更改时更新变量值

仅当您将其存储在会话中并进行更新时。每次在$_SESSION数组中设置新值时,只要会话处于活动状态,它就会在页面中保持不变。