自定义登录表单重定向问题

时间:2011-03-29 作者:Dalen

我在使用此自定义登录表单时遇到了一个奇怪的问题:

<form name="loginformfooter" class="loginform" id="loginformfooter" action="<?php bloginfo(\'url\'); ?>/wp-login.php" method="post">

   <input type="text" name="log" id="user_login" class="input" tabindex="1" />
   <input type="password" name="pwd" id="user_pass" class="input" tabindex="2" />
   <input type="submit" name="wp-submit" id="wp-submit" value="Login" />
   <input type="hidden" name="redirect_to" value="http://<?=$_SERVER[\'SERVER_NAME\'] . $_SERVER[\'REQUEST_URI\'];?>" />
   <input type="hidden" name="testcookie" value="1" />
</form>
大多数时候,它会将我重定向到正确的页面,但很少有其他时候,尤其是在第一次登录时,它会将我重定向到管理页面。我无法准确地确定问题何时发生。

有人发现这样的问题吗?还是有更好的解决方案来获得相同的结果?

谢谢

1 个回复
最合适的回答,由SO网友:kaiser 整理而成

Php短标记是一个;否否“

您不应该像这样使用短php:value="http://<?=$_SERVER[\'SERVER_NAME\'].$_SERVER[\'REQUEST_URI\'];?>"

它是从哪里来的

不同的服务器,不同的php。ini文件。你只是遇到了一个问题short_open_tag = Off 已设置。并非所有服务器都将此默认设置为true。此外,并非所有主机都允许编辑php。ini文件-理由充分。

检查ini设置,在代码中尝试以下操作:
<?php echo \'short open tag: \' . ini_get(\'short_open_tag\'); ?>.

设置ini设置

如果您看到它已关闭,可以尝试在php中打开它。ini文件使用
<?php ini_set(\'short_open_tag\', \'ON\'); ?>.

或者(根据t31os的建议)

如果登录页面是您请求的站点上的第一个页面,则没有要传递的请求URI,因此自然不会发生重定向,因为没有要发送给您的请求URI。

结束

相关推荐

有没有办法重命名或隐藏wp-login.php?

任何更改wp登录的方法。php url?每个曾经使用过Wordpress的人都可以很容易地看到您的站点是否正在使用它,并直接进入登录页面,这似乎是不安全的。以前有一个名为“隐形登录”的插件,但没有更新。(因此我们不愿意依赖插件)。