ビューページでメールを探しています。電子メールがそこに到達する方法は2つあります。POSTまたはSESSIONのいずれかによって。$ _POSTの場合は、$ _ POSTメールを使用します。それ以外の場合は、セッションで保存されたメールを使用します。現在、私が持っているコードは以下のとおりです
$email = (isset($_POST['email']) ? $_POST['email'] : '');
少なくともコード行でそれを行うための最良の方法は何ですか
ビューページでメールを探しています。電子メールがそこに到達する方法は2つあります。POSTまたはSESSIONのいずれかによって。$ _POSTの場合は、$ _ POSTメールを使用します。それ以外の場合は、セッションで保存されたメールを使用します。現在、私が持っているコードは以下のとおりです
$email = (isset($_POST['email']) ? $_POST['email'] : '');
少なくともコード行でそれを行うための最良の方法は何ですか
私はあなたがこれを探しているだけだと思います(電子メールアドレスが$_SESSION
キーの下の配列に格納されていると仮定しますemail
):
$email = (isset($_POST['email']) ? $_POST['email'] : $_SESSION['email']);
それとも私はあなたの質問を誤解していますか?
これを試して:
$email = (isset($_POST['email']) ? $_POST['email'] : (isset($_SESSION['email'])) ? $_SESSION['email'] : '');
これは同じです:
if(isset($_POST['email'])) {
$email = $_POST['email'];
} else {
if(isset($_SESSION['email'])) {
$email = $_SESSION['email'];
} else {
$email = '';
}
}
@GabrielSantosの正解の面白い代替案
$input = function($param, $default = '') {
static $input;
if (null === $input) {
$input = array_merge($_SESSION, $_POST);
}
return isset($input[$param]) ? $input[$param] : $default;
};
// get input
$email = $input('asd');