PHP问题中的会话变量发生

时间:2015-08-13 04:09:50

标签: php forms session

在我的页面中,我有:

1. Registration Page
2. Login Page
3. Successful Registration Page
4. Referral Form

在我的注册页面中,用户可以通过此注册。

在我的登录页面中,我有两种类型的用户,申请人员工

在我的成功注册页面中,会有一个按钮可以转到推荐表格。

在我的推荐表格页面中,我有一个模式可以更新用户在注册期间提供的推荐信息。 以下信息是:

 Referrer ID
 Fullname
 Current Position
 ContactID
 Email Address
 MObile Number
 Member Since

如果您在我的网页上创建了一个帐户,无论您是申请人还是员工,如果您成功注册,我的成功注册页面将提示您,一旦您点击按钮转到推荐表格以下信息将根据您在注册期间提供的推荐信息显示在您的推荐信息中。

如果您注册为申请人,则Referrer ID始终设置为 0 ,您可以通过推荐表单页面进行编辑> 或者如果您注册为员工,则Referrer ID基于您在注册期间提供的内容._ 例如:

Referrer ID (Allowed to edit if you register as an applicant)
Fullname Sherlock Holmes
Current Position (This has no value and may be edit once you created an account)
ContactID CON12344
Email Address SherlockHolmes@gmail.com
MObile Number +987676758857
Member Since 2014-05-06 04:41:21

这是我遇到的问题。

我创建了一个帐户和成功注册页面提示给我,然后单击按钮转到推荐表单页面来编辑我的信息。我编辑并登出并尝试重新登录,我的信息更新,现在反映我的信息。效果很好。

但是 当我创建一个帐户并提交成功注册页面并单击按钮进入推荐表单页面时,如果我没有编辑我的信息并尝试将其注销并尝试重新登录,则我的信息将变为所有空值。喜欢这个,

 Referrer ID 0
 Fullname
 Current Position
 ContactID
 Email Address
 MObile Number
 Member Since

这是不正确的,因为即使我没有编辑我的信息,我的信息应该就是这样。

 Referrer ID 0(You can edit it)
 Fullname Sherlock Holmes
 Current Position (You can edit it)
 ContactID CON12345678
 Email Address sherlockholmes@gmail.com (You can edit it)
 MObile Number +93456789 (You can edit it)
 Member Since 2014-05-06 04:41:21

问题当我没有为新创建的帐户编辑我的信息时发生,但是当我在登出之前编辑它时,它没关系。

这是成功注册PHp

<?php
include('../include/dbconnection.php');
include('../include/functions.php');

if(!isset($_SESSION))
{
session_start();
}
$empid = $_SESSION['SESS_EMP_ID'];
$conid = $_SESSION['SESS_CONID'];
$fName = $_SESSION['SESS_FIRSTNAME'];
$lName = $_SESSION['SESS_LASTNAME'];
$contactNo = $_SESSION['SESS_CONTACT_NO'];
$mobile = $_SESSION['SESS_MOBILE'];
$email = $_SESSION['SESS_EMAIL'];
$bday = $_SESSION['SESS_BDAY'];

if($conid == '')
{
echo ("<SCRIPT LANGUAGE='JavaScript'>
    window.location.href='index.php';
    </SCRIPT>");
}

else
{
//Nothing
}
?>     

以下是推荐表单

中的代码
/**** Start Session ****/
session_start();


//Check whether the session variable SESS_EMP_ID is present or not
if(!isset($_SESSION['SESS_EMP_ID']) || (trim($_SESSION['SESS_EMP_ID']) == '')) {
    header("Location: LoginPage.php");
    exit();
}
/**** End ****/

/**** Redirects automatically to index ****/
header("Refresh: 15 * 60; url=index.php");
/**** End ****/

/**** authentication ****/
//require_once('../function/auth_emp.php');
/**** End ****/

$empid = $_SESSION['SESS_EMP_ID'];
$bdate = $_SESSION['SESS_BDAY'];



/**** Database connection ****/
require_once('../include/config.php');
/**** End ****/


include'../GlobalConstants.php';

include_once ('../refer/updateInfo.php');

mysql_select_db($db_name, $con) or die("ERR_COULD_NOT_SEE_DB");
if($empid == 0)
{

$fname = $_SESSION['SESS_FIRSTNAME'];
$lname = $_SESSION['SESS_LASTNAME'];
$bdate = $_SESSION['SESS_BDAY'];
$pos = $_SESSION['SESS_POSITION'];
$empid = $_SESSION['SESS_EMP_ID'];

$qry= "SELECT vtiger_contactdetails.firstname,
          vtiger_contactdetails.contact_no, 
          vtiger_contactscf.cf_703,
          vtiger_contactscf.cf_715, 
          vtiger_contactscf.cf_717,
          vtiger_contactdetails.email,
          vtiger_contactdetails.lastname, 
          vtiger_contactdetails.mobile,
          vtiger_contactdetails.contactid,
          vtiger_crmentity.createdtime
       FROM vtiger_contactdetails 
       INNER JOIN vtiger_contactscf 
       ON vtiger_contactdetails.contactid = vtiger_contactscf.contactid
       INNER JOIN vtiger_crmentity
       ON vtiger_contactdetails.contactid = vtiger_crmentity.crmid
       INNER JOIN vtiger_contactsubdetails
       ON vtiger_contactsubdetails.contactsubscriptionid=     vtiger_contactdetails.contactid
       WHERE vtiger_contactdetails.firstname = '".$fname."'
       AND vtiger_contactdetails.lastname =  '".$lname."'
       AND vtiger_contactsubdetails.birthday = '".$bdate."'";   

$result = mysql_query($qry);

}   else
{
$qry= "SELECT vtiger_contactdetails.firstname,
          vtiger_contactdetails.contact_no, 
          vtiger_contactscf.cf_703,
          vtiger_contactscf.cf_715, 
          vtiger_contactscf.cf_717,
          vtiger_contactdetails.email,
          vtiger_contactdetails.lastname, 
          vtiger_contactdetails.mobile,
          vtiger_contactdetails.contactid,
          vtiger_crmentity.createdtime
       FROM vtiger_contactdetails 
       INNER JOIN vtiger_contactscf 
       ON vtiger_contactdetails.contactid = vtiger_contactscf.contactid
       INNER JOIN vtiger_crmentity
       ON vtiger_contactdetails.contactid = vtiger_crmentity.crmid
       WHERE vtiger_contactscf.cf_739 = '".$empid."'";

$result = mysql_query($qry);
}
if($result)
{
    if(mysql_num_rows($result)> 0)
    {
        $row = mysql_fetch_assoc($result);
        $contact_no = $row['contact_no'];
        $fname = $row['firstname'];
        $mname = $row['cf_703'];
        $lname = $row['lastname'];
        $mobile = $row['mobile'];
        $pos = $row['cf_715'];
        $program = $row['cf_717'];
        $email = $row['email'];
        $conid = $row['contactid'];
        $memberdate = $row['createdtime'];

    }
}

$erp = "ERP";
/**** Stores the firstname and lastname in the session ****/
$_SESSION['SESS_EMP_ID'] = $empid;
$_SESSION['SESS_CONID'] = $conid;
$_SESSION['SESS_FIRSTNAME'] = $fname;
$_SESSION['SESS_MIDDLENAME'] = $mname;
$_SESSION['SESS_LASTNAME'] = $lname;
$_SESSION['SESS_MOBILE'] = $mobile;
$_SESSION['SESS_EMAIL'] = $email;
$_SESSION['SESS_POSITION'] = $pos;
$_SESSION['SESS_GEN'] =$erp;
$_SESSION['login_time'] = time();




?>

用户没有传递会话变量时是否有问题;在创建帐户后填写信息? 如果用户编辑并填写所有信息并尝试重新登录和重新登录。看起来没关系并且有效。 但是在用户创建了一个帐户后,如果他没有编辑信息并将其注销并尝试重新登录,则它不会反映这些值。你能帮帮我吗

0 个答案:

没有答案
相关问题