Php 全局变量发送到列表时返回null
我目前正在处理这两部分代码 一个用于接收数据,另一个用于在列表中显示数据,但由于某种原因,当我试图在第二部分中显示它时,变量Php 全局变量发送到列表时返回null,php,variables,null,return,global,Php,Variables,Null,Return,Global,我目前正在处理这两部分代码 一个用于接收数据,另一个用于在列表中显示数据,但由于某种原因,当我试图在第二部分中显示它时,变量$emp_name总是返回null 这个想法是搜索一名员工,然后显示他的数据 接收数据: if (isset($_POST['search_button'])) { $cnt = new Connector(); $employee = new Search($cnt); $name = $_POST['name']; $found = array('name' =>
$emp_name
总是返回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;
}
?>
if(设置($\u POST['search\u button'])){
$cnt=新连接器();
$employee=新搜索($cnt);
$name=$_POST['name'];
$found=array('name'=>$employee->getEmployeeByName($name)[0]['name']);
$emp_name=$found['name'];
全球$emp_名称;
$display=“
名称
行动
$emp_名称
请选择
";
$\会话=$显示;
}
?>
在列表中显示它:
<?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>
";
}
?>
我会检查$\u SESSION['action']
的实际值,以及单独回显(或变量转储)其他变量,如$emp\u name
,以测试/确保它们按照您的预期实际填充。
正如Jay Blanchard提到的,使用$\u SESSION['someVar']比使用global关键字要好
在这里找到一些好信息:将变量存储为全局变量在这里没有帮助。你需要把它放在一个会话变量中,以使它在你的站点的各个页面上都可用。这是两个单独的页面还是同一页面的两位代码?如果它们是单独的页面,全局变量不能跨页面保存,则需要使用$\u SESSION
进行保存。它位于同一页面上。我在一个会话中尝试过:
$\u会话['data']=$emp\u id;然后像这样输出:
名字“$\u SESSION['data']”,
并且它仍然返回空值这是在两个不同的函数中吗?@BeardFace只是在两个不同的if语句中,就像代码中所示。