因为论坛经常有机器人注册,所以不得已采用了邀请码注册,但人工发送邀请码又实在麻烦,所以就想着做一个网页,在网页上选择一个邀请码,用户点击后,这个邀请码就标记为已用, 不能再使用。
这样的思路应当没有问题,但自己实现起来,发现自己真是太笨了,而且偏执。
1 第一问题就是自己执迷于:单击链接,会触发什么样的事件,然后把更新邀请码的状态放到这个事件处理函数里。
使用javascript的 onclick事件自己没有办法处理
然后又想着使用表单,但不知道为什么表单传递出去的?invite参数都是空的,所以用户单击邀请码的链接还是没有办法注册
2 第二问题自己一直都想着javascript是运行在客户端的,所以其没有办法处理从数据库里获取的数据。
这明显是自己观念在作怪,用php输出javascrirt时,其实在这里运行在服务器端的。
echo "<script type='text/javascript'>location.href='manger.php?=动态参数';</script>"; 这样的语句是运行在服务器上的,并不是客户端浏览器中的javascrpt代码。
3 我还是想当然的认为:
以前是a-c 如果要做成a-b-c 在b操作数据库 单击a的链接本来是要到c的,现在中转到b,b要到c,但每次c的地址是不一样的【而且现在a的链接已经改成到b了,b怎么知道a是要到c的呢(c又不是固定的)】,即后面邀请码每次都是一样的,所以在a-b-c页面中要传递邀请码,比较麻烦。我的问题是单击时链接时会触发什么事件,可以用js,js却运行在客户端,没有办法实现更新数据库。
4 最后解决问题的思路是这样的简单,自己还想那么多干什么:
既然能实现a跳转到c,那把a另存为b,b自然能跳转到c,然后把更新邀请码状态的数据库操作放在b页面里就行了,另外把b处理成自动跳转到c.把a页面上的链接地址改成链接到b就可以了。
5,是的,现在可以直接使用邀请码注册了---不信你试试:http://www.qiexing.com/invite/index.php
再次感谢曲佳,他太有耐心了..... |