2

Wordpressでページを作成する必要があります。その中には、ログイン、登録、パスワードを忘れたという3つのタブが必要です。もちろん、ログインフォーム、登録フォーム、パスワード回復フォームが含まれています。カスタムログインフォームを作成する方法については、こちらをご覧ください。

http://www.tutorialstag.com/custom-wordpress-login-without-using-a-plugin.html

ここでカスタム登録フォームを作成する方法:

http://www.tutorialstag.com/create-custom-wordpress-registration-page.html

これらの2つの解決策は私には良いと思われるので、それらを使用したいと思います。この問題は、両方のコードがデータの送信に$ _POSTを使用し、両方ともif($ _ POST)ループで特定のコードを実行するために発生します。ここで、両方のコードを同じページに配置し、ユーザーがログインしようとすると、登録フォームのif($ _ POST)ループもトリガーされ、その逆も同様です。

if($ _ POST ['login'])とif($ _ POST ['register'])のように、これら2つのループを分離する方法はありますか?

理想的には、ログインフォーム、登録フォーム、パスワードを忘れたフォームのショートコードを追加するプラグインを作成したいと思います。コードを分離し、それでも同じページで一緒に機能させるための最良の方法は何ですか?

また、私が必要としていることを達成するためのより簡単な方法はおそらくありますか?似ているかもしれないプラグインを探してみましたが、うまくいきませんでした。

4

1 に答える 1

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;
?>
于 2012-09-03T12:24:57.307 に答える