Wordpress - 在同一页面中单独的登录和注册表格
Posted
技术标签:
【中文标题】Wordpress - 在同一页面中单独的登录和注册表格【英文标题】:Wordpress - Separate Log in and Register forms in the same page 【发布时间】:2012-08-27 22:50:29 【问题描述】:我需要在 Wordpress 中创建一个页面。在其中我需要三个选项卡:登录、注册、忘记密码。显然,它们将包含一个登录表单、一个注册表单和一个密码恢复表单。我在这里找到了有关如何创建自定义登录表单的说明:
http://www.tutorialstag.com/custom-wordpress-login-without-using-a-plugin.html
以及如何在此处创建自定义注册表:
http://www.tutorialstag.com/create-custom-wordpress-registration-page.html
这两个解决方案对我来说似乎不错,所以我想使用它们。出现问题是因为两个代码都使用 $_POST 发送数据,并且它们都在 if($_POST) 循环中执行某些代码。现在,如果我将两个代码放在同一个页面上,并且如果用户尝试登录,它也会触发注册表单的 if($_POST) 循环,反之亦然。
我有没有办法将这两个循环分开,比如 if($_POST['login']) 和 if($_POST['register']) 或其他方式?
理想情况下,我想创建一个插件,为登录表单、注册表单和忘记密码表单添加简码。分离代码并让它们在同一页面中协同工作的最佳方法是什么?
另外,是否有更简单的方法来实现我的需要?我尝试寻找可能看起来相似的插件,但没有成功。
【问题讨论】:
【参考方案1】:是的,和你在这里描述的差不多。
在每个提交按钮上设置“名称”属性 - 例如
<input type="submit" name="login" value="Login" class="mybtnclass" />
然后在解析的时候,检查是否设置了那个值
if(isset($_POST['login'])) :
// Do login
elseif(isset($_POST['register'])) :
// Do registration
elseif(isset($_POST['reset'])) :
// Do password reset
endif;
编辑:
另一种方法是为所有按钮赋予相同的“名称”,然后测试“值”属性以确定按下的是哪个按钮,例如
<input type="submit" name="submit" value="Login" class="mybtnclass" />
<input type="submit" name="submit" value="Register" class="mybtnclass" />
<input type="submit" name="submit" value="Reset Password" class="mybtnclass" />
<?php
if('Login'===$_POST['submit']) :
// Do login
elseif('Register'===$_POST['submit']) :
// Do register
elseif('Reset Password'===$_POST['submit']) :
// Do password reset
endif;
?>
【讨论】:
标记你是一个传奇。这就像一个魅力。非常感谢。以上是关于Wordpress - 在同一页面中单独的登录和注册表格的主要内容,如果未能解决你的问题,请参考以下文章