会话变量未传递到另一页

时间:2015-12-09 20:14:36

标签: php session session-variables

我有两页。

  1. 为registration.php
  2. 感谢you.php
  3. 当用户在 registration.php 中提交表单时,他会被重定向到付款网关页面,并且在成功付款后 thank-you.php

    当用户使用 thank-you.php 登陆 $_SESSION 时,我想更新mysql数据库 但 $_SESSION 变量不会传到 thank-you.php

    可以看到未定义的索引错误/通知。

    registration.php 中的代码是:

    <?php
     include ('db.php'); //contains session_start();
    
    if($_POST['action']=="registration"){
    
         if(empty($_SESSION['3_letters_code'] ) || strcasecmp($_SESSION['3_letters_code'], $_POST['captcha_code']) != 0)
         {  
            $msg="The Validation Code Does Not Match !";
    
        }else{
    
          //database insert related code goes here......
    
     $qry=$estambha->webdreaminsert("table_name",$all_columns,$all_values,'','','');
           echo mysql_error();
    
          $member_id=mysql_insert_id();
    
          $_SESSION['reg_member_id']= $member_id;
    
          header (Location = 'http://url-to-payment-gateway-for-payment-with filedset-values');
     }
    }
    ?>
    

    此表单添加在注册页面上输入的mysql数据库中的所有表单数据,并完美地重定向到付款URL。

    在付款网关网站上成功付款后,用户将被重定向到我网站上的 thank-you.php 页面。

    $-SESSION 变量和值未从 registration.php 提取到 thank-you.php ,所以mysql数据库没有得到更新。

    thank-you.php 中的代码是:

    <?php
     include ('db.php'); //session_start() included in this file as said above
    
     $updateqry=mysql_query("UPDATE `table` SET `fees_paid` = 1 WHERE `reg_id` =".$_SESSION["reg_member_id"]);
    
     ?>
    

    需要帮助。提前谢谢。

    编辑和添加db.php的代码

    <?
    session_start();
    include("include/function.php");
       //=================================================================================
    $estambha=new bsq();
    $estambha->connect_db();
    ?> 
    

1 个答案:

答案 0 :(得分:0)

哦......我太傻了......

包含文件中定义的

site_root为http://www.example.com,我正在检查链接http://example.com/thank-you.php

的页面

当我使用http://www.example.com/thank-you.php时,它有效