本帖最后由 w3xiuling 于 2009-12-13 14:17 编辑
注册时的效果:
现在给出最完善的方法,想加什么就加什么,以前的原始方法我放到最下面,已经修改过的朋友可以照着看,我现在的方法修改的地方更少咯
我大体方法就是按照系统默认的注册后修改个人资料页面来修改的,所以大家如果要添加新的内容就去这里改,模板是cp_profile.htm,程序是cp_profile.php,这里就能找到所需要的内容
现在以加入性别和生日为例(下面大红色的最原始的方法,大家可以把第二步和第三步还原即可,其余的不需要动,谢谢)
第一步:
template/default/do_register.htm中找到- <tr><th>再次输入密码</th><td><input type="password" id="password2" name="password2" value="" class="t_input" onBlur="checkPassword2()" tabindex="4" /> <span id="checkpassword2"> </span></td></tr>
复制代码 在其后面加上- <tr>
- <th>性别</th>
- <td><label for="sexm"><input name="sex" type="radio" id="sexm" value="1" checked="checked"/>
- 男</label>
- <label for="sexw"><input id="sexw" type="radio" value="2" name="sex"/>女</label>
- <span style="font-weight:bold;color:red;">(性别选择确定后,将不能再次修改)</span></td>
- </tr>
- <tr>
- <th>生日:</th>
- <td>
- <select id="birthyear" name="birthyear" onchange="showbirthday();">
- <option value="0"> </option>
- $birthyeayhtml
- </select> 年
- <select id="birthmonth" name="birthmonth" onchange="showbirthday();">
- <option value="0"> </option>
- $birthmonthhtml
- </select> 月
- <select id="birthday" name="birthday">
- <option value="0"> </option>
- $birthdayhtml
- </select> 日
- <a href="cp.php?ac=friend&op=search&view=birthyear" target="_blank">» 查找同生日朋友</a>
- </td>
- </tr>
复制代码 程序文件需要修改:
第二步:
source/do_register.php
中找到- $password = $_POST['password'];
复制代码 在其后面加上
- $_POST['sex'] = intval($_POST['sex']);
- if($_POST['sex']) $setarrs['sex'] = $_POST['sex'];
- $setarrs = array(
- 'birthyear' => intval($_POST['birthyear']),
- 'birthmonth' => intval($_POST['birthmonth']),
- 'birthday' => intval($_POST['birthday'])
- );
复制代码 在- $space = space_open($newuid, $username, 0, $email);
复制代码 后面加上- updatetable('spacefield', $setarrs, array('uid'=>$newuid));
复制代码 在- $register_rule = data_get('registerrule');
复制代码 后面加上:- //生日:年
- $birthyeayhtml = '';
- $nowy = sgmdate('Y');
- for ($i=0; $i<100; $i++) {
- $they = $nowy - $i;
- $birthyeayhtml .= "<option value="$they">$they</option>";
- }
- //生日:月
- $birthmonthhtml = '';
- for ($i=1; $i<13; $i++) {
- $birthmonthhtml .= "<option value="$i">$i</option>";
- }
- //生日:日
- $birthdayhtml = '';
- for ($i=1; $i<32; $i++) {
- $birthdayhtml .= "<option value="$i">$i</option>";
- }
复制代码 这段代码是控制注册页面显示生日下拉框的
好了,新方法到这里就可以了,不需要动系统默认的程序,这样更好
尽量在不动系统程序文件的前提下操作,这样最好
如果还要加其它内容,照着我前面说的两个文件上面的程序来加新内容即可,有什么问题,直接回复
照这样做,你把个人资料全搬来都没啥困难了,呵呵
这是最原始的方法,请用上面最新方法,这里只是为了为用过的朋友恢复的,对用过的朋友感到抱歉,因为当时只考虑增加性别没考虑增加其它的内容,sorry
第一步:
template/default/do_register.htm中找到- <tr><th>再次输入密码</th><td><input type="password" id="password2" name="password2" value="" class="t_input" onBlur="checkPassword2()" tabindex="4" /> <span id="checkpassword2"> </span></td></tr>
复制代码 在其后面加上- <tr>
- <th>性别</th>
- <td><label for="sexm"><input name="sex" type="radio" id="sexm" value="1" checked="checked"/>
- 男</label>
- <label for="sexw"><input id="sexw" type="radio" value="2" name="sex"/>女</label>
- <span style="font-weight:bold;color:red;">(性别选择确定后,将不能再次修改)</span></td>
- </tr>
复制代码 程序文件需要修改:
第二步:
source/do_register.php
中找到- $password = $_POST['password'];
复制代码 在其后面加上- $sex = intval($_POST['sex']);
复制代码 找到- $space = space_open($newuid, $username, 0, $email);
复制代码 修改为:- $space = space_open($newuid, $username, 0, $sex, $email);
复制代码 第三步:
source/function_space.php中找到- function space_open($uid, $username, $gid=0, $email='') {
复制代码 修改为- function space_open($uid, $username, $gid=0, $sex=0, $email='') {
复制代码 找到- inserttable('spacefield', array('uid'=>$uid, 'email'=>$email), 0, true);
复制代码 修改为:- inserttable('spacefield', array('uid'=>$uid, 'sex'=>$sex, 'email'=>$email), 0, true);
复制代码 OK了
别忘记更新缓存看效果
如果想它不是必须填写就把模板里面的
checked="checked"这个去掉,注册的时候想选就选了 |