发送到列表时全局变量 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
我目前正在处理这两部分代码。
一个用于接收数据,一个用于在列表中显示数据,但由于某种原因,当我尝试显示它时,变量 $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