开放你的PageCookery注册功能

提醒:本文最后更新于 4127 天前,文中所描述的信息可能已发生改变,请谨慎使用。

大家都知道,现在的PageCookery的注册功能还很闭塞,只能够管理员通过后台添加用户,而不能够让用户自主添加,今天我给出更改方法,能够让其他人自己添加用户! 先我放上一个预览地址吧,我就拿我的似水流年开刀了,呵呵,预览地址:http://lizheming.cn/?act=login 首先我们要在template文件夹下新建一个模板,重命名为"register.html"/名字可随意/然后将如下内容添加到里面去:

{template header}

<div id="main" class="prefix_edit">

<h2 class="nav_title">新增用户</h2>

<form action="?act=register&amp;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>

{template footer}</div>

代码我就不讲解了,其实就是拷贝了下users.html里面的部分代码而已,然后我们要打开根目录的index.php文件,在大概倒数第七行的位置,也就是在最后面一个if语句前的一个结束符号"}“之前/这话讲的我自己都晕了/加上如下代码:

case 'register':
if ($_GET['do'] == 'add' AND $_POST['username'] AND $_POST['password'])
{
$check = $SQL->QueryRowsArray("SELECT id FROM user WHERE username = '" . Format::Safe($_POST['username'], true) . "'");
if ($check['id'])
{
Helper::PrintJavaScript('alert(\'已经存在名为 ' . Format::Safe($_POST['username'], true) . ' 的用户.\'); window.location = \'' . $_SERVER['HTTP_REFERER'] . '\'');
}
$SQL->Insert('user', array('username', 'password'), array(Format::Safe($_POST['username'], true), Format::Safe(md5($_POST['password']), true)));
Helper::PrintJavaScript('alert(\'很高兴的通知您,你在 似水流年 上成功注册了' . Format::Safe($_POST['username'], true) . ' 此用户.\'); window.location = \'' . $_SERVER['HTTP_REFERER'] . '\'');
exit;
}
$title = SITE_NAME . ' - 用户';
$template=& new Template('register',NULL,'register');
break;

保存之后,你的PageCookery地址+"?act=register"就是公共注册地址了,那么你需要的就是在登录页面添加个链接到这个页面的链接就行了,当然,你也可以直接在最上方的管理旁边添加,这里我就都给出相应的代码吧,先是在管理旁边添加注册链接。先打开template/header.html文件,然后搜索"管理"二字,将如下代码复制替换掉那一行的代码:

 <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:最后再说一声,谁知道比较好用的代码高亮插件?现在用的这个太挫了……

Avatar
怡红公子 擅长前端和 Node.js 服务端方向。热爱开源时常在 Github 上活跃,也是博客爱好者,喜欢将所学内容总结成文章分享给他人。

26 评论

song IE 8.0 Windows XP
2010-06-10T00:48:38.000Z 回复
:4 顶顶,哪天没事我也折腾个注册~
Firefox 3.6.3 Windows 7
2010-04-08T09:16:14.000Z 回复
..我只能路过路过了..
1+7 IE 7.0 Windows XP
2010-04+00T02:13:27.000Z 回复
技术帖...注册功能暂时没想用先.
小小 Firefox 3.5.7 Windows XP
2010-04+00T01:58:03.000Z 回复
又一技术贴,支持
羽中 Firefox 3.6.2 Windows XP
2010-04-06T14:16:45.000Z 回复
我要装这个目的就是方便备份,嘀咕没导出功能谁知道它那天死翘翘了。。
怡红公子 Firefox 3.6.3 Windows 7
2010-04-06T14:23:05.000Z 回复
恩,说道导出备份的话……咱给你个好东西啊……嘿嘿 传送门 这个可以备份嘀咕所有的数据~ 记住,一般人我不告诉他哦~~
羽中 Firefox 3.6.2 Windows XP
2010-04-06T23:39:23.000Z 回复
哇噻好东西! :7
leecay IE 8.0 Windows XP
2010-04-06T05:14:47.000Z 回复
偶也折腾折腾好了。。。 :9
怡红公子 Firefox 3.6.3 Windows 7
2010-04-06T13:59:32.000Z 回复
:8 潜台词是不是你也装了微博?
javik IE 8.0 Windows 7
2010-04-06T02:40:33.000Z 回复
你好厉害…… :7
怡红公子 Firefox 3.6.3 Windows 7
2010-04-06T13:59:51.000Z 回复
:9 还好还好……小小发挥了一下
eallion Mozilla 5.0 Windows XP
2010-04-05T21:12:21.000Z 回复
加到index.php里的代码有问题?
怡红公子 Firefox 3.6.3 Windows 7
2010-04-06T14:00:34.000Z 回复
恩?有问题么?我看了下好像没有诶……出现什么情况了?
eallion Mozilla 5.0 Windows XP
2010-04-05T20:36:20.000Z 回复
有意思。
lovee Safari 4.0.5 Mac OS 10.6.3
2010-04-05T03:35:00.000Z 回复
再来围观技术贴 :1
怡红公子 Firefox 3.6.3 Windows 7
2010-04-06T13:57:41.000Z 回复
:9 技术含量一颗星……
koobai Firefox 3.6.3 Windows 7
2010-04-05T03:03:23.000Z 回复
强,很能折腾~~
怡红公子 Firefox 3.6.3 Windows 7
2010-04-06T13:48:08.000Z 回复
:9 还好啦……比你差点……呵呵
Jclyn Chrome 4.1.249.1045 Windows Vista
2010-04-05T12:43:31.000Z 回复
:3 :cry: 为啥表情变少了 不好玩啊 啊啊啊啊啊啊
怡红公子 Firefox 3.6.3 Windows 7
2010-04-05T13:00:31.000Z 回复
两套表情放在一起不好看,我就把一套表情隐藏了……
Jclyn Chrome 4.1.249.1045 Windows Vista
2010-04-05T13:04:37.000Z 回复
:11 好吧 你说了算嘛
likekart Chrome 5.0.307.1 Windows XP
2010-04-05T09:47:51.000Z 回复
继续等待 RSS 更新 。。。
gypsy IE 6.0 Windows XP
2010-04-05T07:00:55.000Z 回复
想请教下博主,我的PageCookery不能和嘀咕同步了是怎么回事?
怡红公子 Opera 10.50 Windows 7
2010-04-05T07:11:03.000Z 回复
不太清楚,这个因主机而异吧……我看你的RSS似乎能导入,就导入嘀咕的RSS吧……
gypsy IE 6.0 Windows XP
2010-04-06T13:39:50.000Z 回复
个人感觉不是主机问题,之前就可以的,后来空间被墙,换了IP后似乎就不行了。rss虽然能导入,但也仅限于WP博客的rss,嘀咕的不能导入,提示解析地址错误。
怡红公子 Firefox 3.6.3 Windows 7
2010-04-06T14:03:07.000Z 回复
恩,有时候是那样的,间歇性抽风,这种情况基本无解……我的这个imnerd/mblog程序也不能导入RSS,但是我重新建立一个就可以了,在同一个主机上……我当时就很郁闷……然后过了没几日又可以导入了……所以说,施主要淡定啊……