发送到列表时全局变量 returns null

global variable returns null when sent to list

我目前正在处理这两部分代码。

一个用于接收数据,一个用于在列表中显示数据,但由于某种原因,当我尝试显示它时,变量 $emp_name 总是 returns null在第二部分。

想法是搜索员工然后显示他的数据。

接收数据:

if (isset($_POST['search_button'])) {
$cnt = new Connector();
$employee = new Search($cnt);
$name = $_POST['name'];
$found = array('name' => $employee->getEmployeeByName($name)[0]['name']);
$emp_name = $found['name'];
global $emp_name;


     $display =  "<br><br>


    <table class='table table-striped'>
    <thead>
      <tr>
        <th width='100%';>Name</th>
        <th width=100%;>Action</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td width=100%;>$emp_name</td>
        <td width=100%;><div class='container'>                               
  <div class='dropdown'>

    <button class='btn btn-default dropdown-toggle' type='button' id='menu1' data-toggle='dropdown'>Please choose
    <span class='caret'></span></button>
    <ul class='dropdown-menu' role='menu' aria-labelledby='menu1'>
      <li role='presentation'><a role='menuitem' tabindex='-1'href='index.php?action=data'>Daten anzeigen</a></li>
      <li role='presentation'><a role='menuitem' tabindex='-1' href='#'>Send message to $emp_name</a></li>
    </ul>
  </div>
</div>
</td>

      </tr>
    </tbody>
  </table>




";

         $_SESSION = $display;
}



?>


在列表中显示:

<?php


print_r($_SESSION);

if (isset($_SESSION['action'])) {

    echo "
<h4>Employee Data</h4><br>
    <ul class='nav nav-tabs'>
        <li class='active'><a data-toggle='tab'href='#sectionA'>Address</a></li>

        <li><a data-toggle='tab' href='#sectionB'>Personal Data</a></li>

       <li><a data-toggle='tab' href='#sectionB'>Communication Data</a></li>
            </ul>

        </li>

    </ul>

    <div class='tab-content'>

        <div id='sectionA' class='tab-pane fade in active'>

            <ul class='list-group'>
  <li class='list-group-item'>First Name ".$emp_name."
  </li>
  <li class='list-group-item'>Last Name</li>
  <li class='list-group-item'>Street</li>
  <li class='list-group-item'>Zip</li>
  <li class='list-group-item'>City</li>
  <li class='list-group-item'>Country</li>
</ul>

        </div>

        <div id='sectionB' class='tab-pane fade'>

            <p>Section B content…</p>

        </div>

        <div id='dropdown1' class='tab-pane fade'>

            <p>Dropdown 1 content…</p>

        </div>

        <div id='dropdown2' class='tab-pane fade'>

            <p>Dropdown 2 content…</p>

        </div>

    </div>
    ";
}





?>

我会检查 $_SESSION['action'] 的实际值,并单独回显(或 var_dump)其他变量,例如 $emp_name 以进行测试/确保它们实际填充为你期待。 正如 Jay Blanchard 提到的,使用 $_SESSION['someVar'] 比使用 global 关键字更好。

在这里找到了一些有用的信息:PHP sessions that have already been started