PHP7中文手册2018 带注释 最新chm版
ecshop注册页部分添加字段一、数据库结构修改
1、用phpMyAdmin打开mysql数据库
2、选择表“ecs_users ”
3、插入tel、mobile、address三个字段
4、字段类型分别为
二、前台
1、修改themes/你所选模板目录下/user_passport.dwt文件
<tr>
<td align="right"><strong>{$lang.label_email}:</strong></td>
<td><input name="email" type="text" id="email" />
<span style="color:#F00;"> *</span></td>
</tr>
<tr>
<td align="right"><strong>电话:</strong></td>
<td><input name="tel" type="text" id="tel" />
<span style="color:#F00;"> *</span></td>
</tr>
<tr>
<td align="right"><strong>手机:</strong></td>
<td><input name="mobile" type="text" id="mobile" />
<span style="color:#F00;"> *</span></td>
</tr>
<tr>
<td align="right"><strong>{$lang.label_address}:</strong></td>
<td><input name="address" type="text" id="address" />
<span style="color:#F00;"> *</span></td>
</tr>
2、修改根目录下的user.php
/* 注册会员的处理 */
elseif ($action == 'act_register')
{
include_once(ROOT_PATH . 'includes/lib_passport.php');
$username = isset($_POST['username']) ? trim($_POST['username']) : '';
$password = isset($_POST['password']) ? trim($_POST['password']) : '';
$email = isset($_POST['email']) ? trim($_POST['email']) : '';
$tel = isset($_POST['tel']) ? trim($_POST['tel']) : '';
$mobile = isset($_POST['mobile']) ? trim($_POST['mobile']) : '';
$address = isset($_POST['address']) ? trim($_POST['address']) : '';
if (strlen($username) < 3)
{
show_message($_LANG['passport_js']['username_shorter']);
}
if (strlen($password) < 6)
{
show_message($_LANG['passport_js']['password_shorter']);
}
if (register($username, $password, $email, $tel, $mobile, $address) !== false)
{
show_message(sprintf($_LANG['register_success'], $username), $_LANG['profile_lnk'], 'user.php');
}
else
{
$err->show($_LANG['sign_up'], 'user.php?act=register');
}
}
3、修改upload/js/user.js文件
/* *
* 处理注册用户
*/
function register()
{
var frm = document.forms['formUser'];
var username = Utils.trim(frm.elements['username'].value);
var email = frm.elements['email'].value;
var password = Utils.trim(frm.elements['password'].value);
var confirm_password = Utils.trim(frm.elements['confirm_password'].value);
var tel = Utils.trim(frm.elements['tel'].value);
var mobile = Utils.trim(frm.elements['mobile'].value);
var address = Utils.trim(frm.elements['address'].value);
var msg = "";
// 检查输入
4、修改includes/lib_passport.php
function register($username, $password, $email, $tel, $mobile, $address)
{
/* 检查username */
if (empty($username))
{
$GLOBALS['err']->add($GLOBALS['_LANG']['username_empty']);
}
else
{
if (preg_match('/\'\/^\\s*$|^c:\\\\con\\\\con$|[%,\\*\\"[url=file://\\s\\t\\<\\]\\s\\t\\<\\>\\&\'\\\\]/'[/url], $username))
{
$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['username_invalid'], htmlspecialchars($username)));
}
}
/* 检查email */
if (empty($email))
{
$GLOBALS['err']->add($GLOBALS['_LANG']['email_empty']);
}
else
{
if (!is_email($email))
{
$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['email_invalid'], htmlspecialchars($email)));
}
}
if ($GLOBALS['err']->error_no > 0)
{
return false;
}
$newid = $GLOBALS['user']->add_user($username, $password, $email, $tel, $mobile, $address);
if ($newid == 0)
{
/* 插入会员数据失败 */
if ($GLOBALS['user']->error == ERR_USERNAME_EXISTS)
{
$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['username_exist'], $username));
}
elseif ($GLOBALS['user']->error == ERR_EMAIL_EXISTS)
{
$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['email_exist'], $email));
}
else
{
$GLOBALS['err']->add($GLOBALS['user']->error_msg());
}
return false;
}
else
{
$cur_date = date('Y-m-d H:i:s');
if ($GLOBALS['_CFG']['integrate_code'] == 'ecshop')
{
/* 更新会员注册积分 */
$sql = 'UPDATE ' . $GLOBALS['ecs']->table('users') .
" SET pay_points ='" . $GLOBALS['_CFG']['register_points'] ."'," .
" rank_points = '" . $GLOBALS['_CFG']['register_points'] ."' ," .
" birthday = '1970-01-01'," .
" last_time = '$cur_date'" .
" WHERE user_id = '$newid' ";
}
else
{
/* 插入会员数据到ecshop数据库 */
$sql = 'INSERT INTO ' .$GLOBALS['ecs']->table('users').
' (user_id, user_name, password, email, tel, mobile, address, pay_points, rank_points, birthday, last_time) '.
"VALUES ('$newid', '$username', '" .$GLOBALS['ecs']->compile_password($password). "',".
" '$email', '$tel', '$mobile', '$address', '" . $GLOBALS['_CFG']['register_points'] ."', '" . $GLOBALS['_CFG']['register_points'] . "', '1970-01-01', '$cur_date')";
}
$GLOBALS['db']->query($sql);
/* 设置session */
$_SESSION['user_id'] = $newid;
$_SESSION['user_name'] = stripslashes($username);
$_SESSION['email'] = $email;
update_user_info(); // 更新用户信息
recalculate_price(); // 重新计算购物车中的商品价格
return true;
}
}
5、修改includes/modules/integrates/ecshop.php
function add_user($username, $password, $email, $tel, $mobile, $address)
{
/* 检查用户名是否已经存在 */
$sql = 'SELECT COUNT(*) FROM ' . $GLOBALS['ecs']->table('users') .
' WHERE ' . $this->field_name . " = '$username'";
if ($this->db->GetOne($sql) > 0)
{
$this->error = ERR_USERNAME_EXISTS;
return 0;
}
/* 检查邮件地址是否重复 */
$sql = 'SELECT COUNT(*) FROM ' . $GLOBALS['ecs']->table('users') .
' WHERE ' . $this->field_email . " = '$email'";
if ($this->db->GetOne($sql) > 0)
{
$this->error = ERR_EMAIL_EXISTS;
return 0;
}
/* 编译密码 */
$password = $GLOBALS['ecs']->compile_password($password);
/* 插入数据库 */
$sql = 'INSERT INTO ' . $GLOBALS['ecs']->table('users') . '(' .
$this->field_name . ', ' . $this->field_pass . ', ' . $this->field_email . ',tel,mobile,address,' . $this->field_reg_date .
' ) VALUES ( ' .
"'$username', '$password', '$email', '$tel', '$mobile', '$address', " . time() . ')';
$res = $this->db->query($sql);
if ($res)
{
$new_id = $this->db->Insert_ID();
return $new_id;
}
else
{
$this->error = ERR_USERNAME_EXISTS;
return 0;
}
}
三、后台部分修改
admin/templates/user_info.htm
<tr>
<td class="label">{$lang.email}:</td>
<td><input type="text" name="email" maxlength="60" size="40" value="{$user.email}" />{$lang.require_field}</td>
</tr>
<tr>
<td class="label">电话:</td>
<td><input type="text" name="tel" maxlength="60" size="40" value="{$user.tel}" />{$lang.require_field}</td>
</tr>
<tr>
<td class="label">手机:</td>
<td><input type="text" name="mobile" maxlength="60" size="40" value="{$user.mobile}" />{$lang.require_field}</td>
</tr>
<tr>
<td class="label">地址:</td>
<td><input type="text" name="address" maxlength="60" size="40" value="{$user.address}" />{$lang.require_field}</td>
</tr>
admin/user.php
$sql = "SELECT sex, birthday, pay_points, rank_points, user_rank ,user_money FROM " .$ecs->table('users'). " WHERE user_id='$_GET[id]'";
$row = $db->GetRow($sql);
if ($row)
{
$user['tel'] = $row['tel'];
$user['mobile'] = $row['mobile'];
$user['address'] = $row['address'];
$user['sex'] = $row['sex'];
$user['birthday'] = date($row['birthday']);
转载请注明:谷谷点程序 » ecshop注册页部分添加字段