求助商品详情页注册项增加到数据库问题

2016-07-07 15:00 来源:www.chinab4c.com 作者:ecshop专家



由于官方bug,会员通过首页注册user.php?act=register和购物车flow.php?step=login页面的简单注册项不一样,购物车注册页面不能显示通过后台增加的自定义项目。现想在购物车注册页面增加一个手机项,请高手指导一下怎么增加到数据库中。


弄了一天都没弄出来,试着将注册项的mobile_phone调过来也不行
谢谢了!

回答:


如果要想在注册项里面要有手机选项,或者其他选项,则可以直接在后台设置即可,包括是否为必填项...
后台-系统设置-ECSHOP 管理中心 - 会员注册项设置-,打开会员注册项设置,如图


添加会员注册项,添加手机...







最后就是这样的...



其实都是傻瓜式操作,很容易的,不需要修改什么文件。
不知道,这个答案是不是楼主要的...这是正常注册。。。



太别感谢php管家给出的回答,这个设置我是知道的,但主要是想在购物车flow.php?step=login页面,简单注册方式里加一个项目

也就是在商品在购买的结算中心那里加

结算中心有三个先项一个登陆不打算登陆,直接购买,还有一个就是注册(注册有两个输入框,用户名电子邮箱密码确认密码)我想在这里加一个手机项

都是调用注册函数,就可以了

都是调用注册函数,就可以了
netaxcess 发表于 2011-3-6 21:38



怎么调用,我试了N次了都没有成功,麻烦指点一下

:)

手动添加相关的html代码

手动添加相关的html代码
齐迹 发表于 2011-3-8 20:00



这个是要调用数据的,增加html没什么用吧

请问一下,这个注册项是调用哪个文件更新数据库的,是user.php还是lib_passport.php

明天去公司给你答案。

谢谢,齐老师,期待

1、打开flow.dwt 默认模板七百多行找到注册的显示的地方 加入
  1. <tr>
  2. <td bgcolor="#ffffff" align="right">手机:</td>
  3. <td bgcolor="#ffffff"><input name="mobile_phone" type="text" class="inputBg" id="mobile_phone" /></td>
  4. </tr>
复制代码


2、打开flow.php 301行 修改为
  1. $other['mobile_phone'] = $_POST['mobile_phone'];
  2. if (register(trim($_POST['username']), trim($_POST['password']), trim($_POST['email'],$other)))
复制代码


我没有做测试应该能解决你的问题了,输入框的验证你想做的话模仿一下默认的。

  1. /* 检查验证码 */
  2. include_once('includes/cls_captcha.php');

  3. $validator = new captcha();
  4. $validator->session_word = 'captcha_login';
  5. if (!$validator->check_word($_POST['captcha']))
  6. {
  7. show_message($_LANG['invalid_captcha']);
  8. }
  9. }

  10. if ($user->login($_POST['username'], $_POST['password'],isset($_POST['remember'])))
  11. {
  12. update_user_info(); //更新用户信息
  13. recalculate_price(); // 重新计算购物车中的商品价格

  14. /* 检查购物车中是否有商品 没有商品则跳转到首页 */
  15. $sql = "SELECT COUNT(*) FROM " . $ecs->table('cart') . " WHERE session_id = '" . SESS_ID . "' ";
  16. if ($db->getOne($sql) > 0)
  17. {
  18. ecs_header("Location: flow.php?step=checkout\n");
  19. }
  20. else
  21. {
  22. ecs_header("Location:index.php\n");
  23. }

  24. exit;
  25. }
  26. else
  27. {
  28. $_SESSION['login_fail']++;
  29. show_message($_LANG['signin_failed'], '', 'flow.php?step=login');
  30. }
  31. }
  32. elseif (!empty($_POST['act']) && $_POST['act'] == 'signup')
  33. {
  34. if ((intval($_CFG['captcha']) & CAPTCHA_REGISTER) && gd_version() > 0)
  35. {
  36. if (empty($_POST['captcha']))
  37. {
  38. show_message($_LANG['invalid_captcha']);
  39. }

  40. /* 检查验证码 */
  41. include_once('includes/cls_captcha.php');

  42. $validator = new captcha();
  43. if (!$validator->check_word($_POST['captcha']))
  44. {
  45. show_message($_LANG['invalid_captcha']);
  46. }
  47. }

  48. $other['mobile_phone'] = $_POST['mobile_phone'];

  49. if (register(trim($_POST['username']), trim($_POST['password']), trim($_POST['email'],$other)))
  50. {
  51. /* 用户注册成功 */
  52. ecs_header("Location: flow.php?step=c**ignee\n");
  53. exit;
  54. }
  55. else
  56. {
  57. $err->show();
  58. }
  59. }
  60. else
  61. {
  62. // TODO: 非法访问的处理
  63. }
  64. }
  65. }
  66. elseif ($_REQUEST['step'] == 'c**ignee')
  67. {
  68. /*------------------------------------------------------ */
  69. //-- 收货人信息
  70. /*------------------------------------------------------ */
复制代码


我试过这个方法,更新不到数据库

,我就是搞不明白怎么加不进去的,试了几天了

不过还是非常感谢齐老师的帮助,谢谢您

用我上面的方法一定可以