-1

重複の可能性:
PHP:「通知:未定義の変数」および「通知:未定義のインデックス」

このコードを含むmember.phpページがあります。

<?php
    if (isset($_SESSION['teacherusername'])) 
    {
        $username = $_SESSION['teacherusername'];
    }
?>

今、teacherlogin.phpで、「include」を使用して、member.phpページのコードをインクルードします。私が抱えている問題は、teacherlogin.phpページを開くと、次のような未定義の変数エラーが発生することです。 Notice: Undefined variable: username in ... on line 25

member.phpページで定義したのに、なぜ未定義であると表示されているのですか?

以下は、teacherlogin.phpのコードです。

<?php
  // PHP code
  session_start(); 

    ini_set('display_errors',1); 
 error_reporting(E_ALL);

// connect to the database
include('connect.php');
include('member.php');

  /* check connection */
  if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    die();
  }

  // required variables (make them explciit no need for foreach loop)
  $teacherusername = (isset($_POST['teacherusername'])) ? $_POST['teacherusername'] : '';
  $teacherpassword = (isset($_POST['teacherpassword'])) ? $_POST['teacherpassword'] : '';
  $loggedIn = false;
  $active = true;

  if ($username){
      echo "You are already Logged In: <b>{$_SESSION['teacherforename']} {$_SESSION['teachersurname']}</b> | <a href='./teacherlogout.php'>Logout</a>";
  }
  else{

echo "Please Login";

}

?>
4

4 に答える 4

1

It is defined only into the if block.

$username = "";
if (isset($_SESSION['teacherusername'])) {
    $username = $_SESSION['teacherusername'];
}
于 2012-08-15T13:41:04.983 に答える
0

$username定義も使用もされていません。

上部のmember.phpと同じように、teacherlogin.phpを操作します。

if(isset($ _ SESSION ['teacherusername'])){

  $username = $_SESSION['teacherusername']; 
}
于 2012-08-15T13:40:53.523 に答える
0
$username = null; // ad this line to member.php 
if (isset($_SESSION['teacherusername'])) {
   $username = $_SESSION['teacherusername'];
于 2012-08-15T13:41:12.923 に答える
0

変数$usernameは、ユーザーがログインしているときにのみmember.phpによって設定されます。teacherlogin.phpのif(isset($username))代わりに使用してみてif($username)ください。

于 2012-08-15T13:41:56.643 に答える