【发布时间】:2015-08-28 03:43:48
【问题描述】:
在我的页面中,我有:
1. Registration Page
2. Login Page
3. Successful Registration Page
4. Referral Form
在我的注册页面,用户可以通过这个注册。
在我的登录页面中,我有两种类型的用户,Applicant 和 Employee
在我的成功注册页面中,有一个指向推荐表格的按钮。
在我的推荐表单页面中,我有一个模式来更新用户在注册期间提供的推荐信息。 以下信息是:
Referrer ID
Fullname
Current Position
ContactID
Email Address
MObile Number
Member Since
如果您在我的页面上创建了一个帐户,无论您是Applicant还是Employee,如果您注册成功,我的注册成功页面将提示您,并且一旦您点击了转到推荐表格的按钮,以下信息将根据您在注册期间提供的推荐信息显示到您的推荐信息中。
如果您注册为申请人,您的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();
?>
如果用户在创建帐户后没有填写信息,我是否在传递会话变量时遇到问题? 如果用户编辑并填写所有信息并尝试重新注销并重新登录。看起来没问题并且有效。 但是在用户创建帐户后,如果我没有编辑信息并将其注销并尝试重新登录,它不会反映这些值。 如果我注销并尝试重新登录,我没有更新信息时,我不会反映会话的价值。谢谢
【问题讨论】: