5

私はウェブサイトに取り組んでおり、インデックスページはユーザーがログインしているかどうかを次のコードでチェックします:

if (!$_SESSION['login'] && $_SESSION['login'] == "") {
include_once($_SERVER['DOCUMENT_ROOT'] . "/login/");
} elseif ($_SESSION['login'] == 1) {
include_once($_SERVER['DOCUMENT_ROOT'] . "/main/");
}

しかし、私はそれをよりきれいに見せたいので、関数でこのようなことを達成できるかどうか疑問に思い始めました:

checklogin($_SESSION['login']);

関数の経験があまりないので、質問がばかげているように見えたら申し訳ありませんが、よろしくお願いします。

4

5 に答える 5

3

使用するだけemptyです:

if ( empty($_SESSION['login']) ) {
    include_once($_SERVER['DOCUMENT_ROOT'] . "/login/");
} else {
    include_once($_SERVER['DOCUMENT_ROOT'] . "/main/");
}

またはそれを要約します:

include_once $_SERVER['DOCUMENT_ROOT'].(empty($_SESSION['login']) ? "/login/" : "/main/");
于 2013-08-30T15:57:36.860 に答える
0

この機能を使用できます:

function checklogin() {
  return (isset($_SESSION['login'])) ? true : false;
}

次に、ユーザーがログインしているかどうかを確認したいページで、次のことができます。

if(checklogin() === true){
  //here you would put what you want to do if the user is logged in
} else {
  //this would be executed if user isn't logged in
  header('Location: protected.php');
  exit();
  //the above would redirect the user
}
于 2013-08-30T16:04:09.830 に答える