作者:公子
发布时间:April 5, 2010
分类:日常杂事
大家都知道,现在的PageCookery的注册功能还很闭塞,只能够管理员通过后台添加用户,而不能够让用户自主添加,今天我给出更改方法,能够让其他人自己添加用户!
先我放上一个预览地址吧,我就拿我的似水流年开刀了,呵呵,预览地址:
http://lizheming.cn/?act=login
首先我们要在template文件夹下新建一个模板,重命名为"register.html"/
名字可随意/然后将如下内容添加到里面去:
| | {template header}</p> | | | <p><div id="main" class="prefix_edit"></p> | | | <h2 class="nav_title">新增用户</h2> | | | <form action="?act=register&do=add" method="post"> | | | 用户名: <input class="input_message w150" name="username" type="text" /> 密码: <input class="input_message w150" name="password" type="password" /> <input class="image_button_submit" type="submit" value="新增用户" /> | | </form> | | | <p>{template footer}</div> |
|
代码我就不讲解了,其实就是拷贝了下users.html里面的部分代码而已,然后我们要打开根目录的index.php文件,在大概倒数第七行的位置,也就是在最后面一个if语句前的一个结束符号"}"之前/
这话讲的我自己都晕了/加上如下代码:
| | case 'register': | | if ($<em>GET['do'] == 'add' AND $</em>POST['username'] AND $<em>POST['password']) | | { | | $check = $SQL->QueryRowsArray("SELECT id FROM user WHERE username = '" . Format::Safe($</em>POST['username'], true) . "'"); | | if ($check['id']) | | { | | Helper::PrintJavaScript('alert(\'已经存在名为 ' . Format::Safe($<em>POST['username'], true) . ' 的用户.\'); window.location = \'' . $</em>SERVER['HTTP<em>REFERER'] . '\''); | | } | | $SQL->Insert('user', array('username', 'password'), array(Format::Safe($</em>POST['username'], true), Format::Safe(md5($<em>POST['password']), true))); | | Helper::PrintJavaScript('alert(\'很高兴的通知您,你在 似水流年 上成功注册了' . Format::Safe($</em>POST['username'], true) . ' 此用户.\'); window.location = \'' . $<em>SERVER['HTTP</em>REFERER'] . '\''); | | exit; | | } | | $title = SITE_NAME . ' - 用户'; | | $template=& new Template('register',NULL,'register'); | | break; |
|
保存之后,你的PageCookery地址+"?act=register"就是公共注册地址了,那么你需要的就是在登录页面添加个链接到这个页面的链接就行了,当然,你也可以直接在最上方的管理旁边添加,这里我就都给出相应的代码吧,先是在管理旁边添加注册链接。先打开template/header.html文件,然后搜索"管理"二字,将如下代码复制替换掉那一行的代码:
| | </p> | | | <p><li><a href="{$base_url}" | | <!--{if ($current == 'blog')}--> class="selected" | | <!--{/if}-->>网 志</a> | | </li><li><a href="?act=register">注 册</a></li> | | <!--{if ($sync['api']['username'])}--> | | <li><a href="http://<!--{if ($sync['api']['type'] == 'jiwai')}-->jiwai.de<!--{else}-->digu.com<!--{/if}-->/ | | <echo>urlencode($sync['api']['username'])</echo>/" target="_blank"> | | <!--{if ($sync['api']['type'] == 'jiwai')}-->叽 歪<!--{else}-->嘀 咕<!--{/if}--></a></li> | | <!--{/if}--><!--{if ($Own['lastfm'])}--> | | <li><a href="?act=music"<!--{if ($current == 'music')}--> class="selected"<!--{/if}-->>音乐墙</a></li> | | <!--{/if}--><!--{if ($flickr['feed'])}--> | | <li><a href="?act=photos"<!--{if ($current == 'photos')}--> class="selected"<!--{/if}-->>照片墙</a></li> | | <!--{/if}--> |
|
代码依旧不解释了,大家仔细看看就知道增加了什么了。然后是在登录页面加入注册链接,打开template/login.html页面,搜索"登录"二字,将如下代码复制替换掉该行即可:
| | <div style="text-align:right"><input type="submit" value="登 录" class="login_submit" /><a href="?act=register" class="login_submit">注 册</a></div> |
|
恩,这样大家就可以完成公开注册的方法了,其实就是将注册的那些文件搬到了程序判定外面来了而已。也就是说,不能填写照片墙,不能填写音乐墙等资料,包括RSS导入功能也不能使用,因为这些都是管理员才能有的。
PS:最后再说一声,谁知道比较好用的代码高亮插件?现在用的这个太挫了……