注册和登录一样只有两个输入框,无法通过验证!

By 多梦 at 2013-08-08 02:21:47 • 766次点击

注册页面和登录页面一样,只有两个输入框,一个用户名和一个密码,没有重复密码和验证码,直接填写注册会提示“› 用户名、密码、重复密码、验证码 必填 ”。

没办法,管理员都注册不了,我把模版改了,复制重复密码和验证码的输入框到直接输出那里,然后注册了帐号,但是问题又来了,这样的话,登录那里又多了重复密码和验证码这两个输入框。

求解决。

输入框


用哪个版本?

admin at 2013-08-08 07:17:44
1
多梦 at 2013-08-08 08:22:13
2

@admin 如果把模版改了调用出那两个框可以正常注册。就是框显示不正常,貌似是那个判断是否注册页面的没生效。

多梦 at 2013-08-08 08:27:49
3

/templates/default/sigin_login.php
里有个判断

if($url_path == 'sigin'){
// 注册
}

if($url_path == 'login'){
// 登录
}

admin at 2013-08-08 08:59:42
4

@admin 有这样的语句,但是好像没生效

多梦 at 2013-08-08 11:59:57
5

<?php 
if (!defined('IN_SAESPOT')) exit('error: 403 Access Denied'); 

echo '
<div class="title"><a href="/">',$options['name'],'</a> &raquo; ',$title,'</div>
<div class="main-box">
<p class="red fs12" style="margin-left:60px;">';
if($options['authorized']){
    echo $options['name'],' 已设置只有登录用户才能访问,请先登录! <br/>';
}
if($options['register_review']){
    echo $options['name'],' 已设置注册用户验证,注册后需要管理员审核! <br/>';
}

foreach($errors as $error){
    echo '› ',$error,' <br/>';
}

多梦 at 2013-08-08 12:01:30
6

echo '</p>
<form action="',$_SERVER["REQUEST_URI"],'" method="post">
<input type="hidden" name="formhash" value="',$formhash,'" />
<p><label>登录名: <input type="text" name="name" class="sl w200" value="',htmlspecialchars($name),'" /></label>  <span class="fs12">允许字母、数字、中文,不能全为数字,4~12个字节</span></p>
<p><label>密 码: <input type="password" name="pw" class="sl w200" value="" /></label></p>';

if($url_path == 'sigin'){
    if($regip){
        echo '<p class="red">一个ip最小注册间隔时间是 ',$options['reg_ip_space'],' 秒,请稍后再来注册 或 让管理员把这个时间改小点。</p>';
    }else{
        echo '<p><label>重 复: <input type="password" name="pw2" class="sl w200" value="" /></label></p>';
        echo '<p><label>验证码: <input type="text" name="seccode" class="sl w100" value="" /></label> <img src="/seccode.php" align="absmiddle" /></p>';
    }
}

多梦 at 2013-08-08 12:06:59
7

echo '<p><input type="submit" value=" ',$title,' " name="submit" class="textbtn" style="margin-left:60px;" /></p><p><a href="/qqlogin" rel="nofollow" style="margin-left:60px;"><img src="/static/Connect_logo_3.png" alt="QQ微博登录"/></a></p>';
if($url_path == 'login'){
    if($options['close_register'] || $options['close']){
        echo '<p class="grey fs12">网站暂时关闭 或 已停止新用户注册&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;忘记密码?<a href="/forgot">马上找回</a>';
    }else{
        echo '<p class="grey fs12">还没来过?<a href="/sigin">现在注册</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;忘记密码?<a href="/forgot">马上找回</a>';
    }
}else{
    echo '<p class="grey fs12">已有用户?<a href="/login">现在登录</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;忘记密码?<a href="/forgot">马上找回</a>';
}
echo '</p>
</form>
</div>';

?>

多梦 at 2013-08-08 12:08:01
8

@多梦

你查看一下 $url_path 的值,
正常应该是 sigin 或 login 而不是 /sigin 或 /login
如果是后者就打开 /common.php 找到
$url_path = substr($php_self, 0,-4);
改为
$url_path = substr($php_self, 1,-4);

好象是BAE 环境改了一点,在程序发布时前者获取正常。

admin at 2013-08-08 13:31:15
9

@admin 不知道$url_path 的值在哪儿看,但是改了common.php就正常了,测试成功!

多梦 at 2013-08-08 17:13:59
10
登录 后发表评论