基于FLASH和WEB3D后台数据库电子商务系统设计 第8页

基于FLASH和WEB3D后台数据库电子商务系统设计 第8页
 $msg .= "<li>填写密码与确认密码不符。";
 } elseif (empty($frm["truename"])) {
  $errors->truename = true;
  $msg .= "<li>你没有填写真实姓名。";
 } elseif (empty($frm["certificate"])) {
  $errors->certificate = true;
  $msg .= "<li>你没有填写证件号码。";
 } elseif (empty($frm["zipcode"])) {
  $errors->zipcode = true;
  $msg .= "<li>你没有填写邮政编码。";
 } elseif (empty($frm["email"])) {
  $errors->email = true;
  $msg .= "<li>你没有填写电子邮箱。";
 } elseif (email_exists($frm["email"])) {
  $errors->email = true;
  $msg .= "<li>邮件地址<b>" . ov($frm["email"]) ."</b> 已经存在,请使用别的邮箱进行注册";
 } elseif (empty($frm["phone"])) {
  $errors->phone = true;
  $msg .= "<li>你没有填写电话号码。";
 } elseif (empty($frm["address"])) {
  $errors->address = true;
  $msg .= "<li>你没有填写地址。";
 }
 return $msg;
}
2.如果validate_form()函数返回空值,说明客户输入没有错误,系统调用insert_user()函数把客户的个人资料和用PHP的md5()加密函数处理过的密码插入Users表中,并输出成功注册信息。insert_user()函数代码如下:
function insert_user(&$frm) {
 $qid = db_query("
 INSERT INTO users (
  username, password,truename, certificate, email, phone, address
 ) VALUES (
   '$frm[username]'
  ,'" . md5($frm["password1"]) ."'
  ,'$frm[truename]'
  ,'$frm[certificate]'
  ,'$frm[email]'
  ,'$frm[phone]'
  ,'$frm[address]'
 )");
}
3.PHP与Flash数据通信问题说明
PHP与Flash数据通信主要分两部分:
(1)在Flash端使用Flash的LoadVariables语句实现接收外部PHP脚本文件返回的数据,或把Flash的内部数据传送给外部的PHP脚本文件。具体语句格式为:loadVariables ("PHP文件", this, "post");
如:loadVariables ("signup.php", this, "post");就是把当前Flash里的数据传送给signup.php文件。
用onclipevent(data)事件来判断Flash是否接收到PHP脚本返回的数据,作下一步的处理。
(2)在PHP端把处理后的数据传送给Flash,使用Print或echo输出语句,但输出的格式必需为:&Flash端的接收变量名=输出值。如要让Flash端的msg文本域接收PHP的输出值,具体输出语句为print “&msg=注册成功”;
5.1.2会员登录功能模块
客户注册登记后,便可以使用用户名和密码进行登录,系统调用verify_login()函数根据客户输入的用户名和密码与Users表中的用户名和密码进行比较,如果相同则把用户名和客户的远程地址赋值给User和IP两个Session变量,并输出成功登录信息。
图5-3会员登录功能模块流程图
用户名和密码验证函数代码如下:
……
$user = verify_login($HTTP_POST_VARS["username"], $HTTP_POST_VARS["password"]);
 if ($user) {
  $SESSION["user"] = $user;
  $SESSION["ip"] = $REMOTE_ADDR;  
  print "&locate=msg";
  print "&login_msg=成功登录";
  die;
 }
function verify_login($username, $password) {
 $qid = db_query("
 SELECT username, truename, email, priv
 FROM users
 WHERE username = '$username' AND password = '" . md5($password) . "'
 ");
 return db_fetch_array($qid);
}
……
5.1.3会员密码修改功能模块
客户进入密码修改页面前系统首先调用require_login()函数要求客户登录,如果客户已经登录则进入密码修改页面。在用户输入修改密码后系统调用validate_form()函数进行合法性检查,如果没有错误则调用update_password()函数对客户的登录密码进行更新。 主要功能函数代码如下:
/* is_logged_in()判断客户是否已经登录*/
function is_logged_in() {
 global $SESSION, $REMOTE_ADDR;
 return isset($SESSION)
  && isset($SESSION["user"])
  && isset($SESSION["ip"])
  && $SESSION["ip"] == $REMOTE_ADDR;
}
function require_login() {
 global $CFG, $SESSION;
 if (! is_logged_in()) {
  $SESSION["wantsurl"] = qualified_me();
  print "&locate=login";
  print "&login_msg=请先登录";
  return 0;
 }
 return 1;}

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有