加载页面时会话的未定义索引错误

时间:2013-03-25 06:14:42

标签: php javascript mysql session

我在删除员工时收到错误“未定义索引:Employee.php中的Msg”。 我试图从employeedb.php显示会话值。 这是我的employee.php。这里我试图在div“divGuestRegisterContainer”

中显示会话消息
<?php
require_once("includes.php");
<div id="divGuestRegisterContainer" >
<b>
<?php   
if($_SESSION["Msg"]!="")
{
?>
<ul>
<li>
<b><?php 
echo $_SESSION["Msg"];
?>
</b>
</li>
</ul>
<?php
$_SESSION["Msg"]="";
}
?>
</b>
<ul>
<li>
<span style="width:120px;">Employee Name :</span>
<input type="text" name="txt_empname" id="txt_empname" class="textbox" value="<?php echo $emp_name;?>" />                       
</li>
<li >
<input type='button' id='btnDelete' name='btnDelete' class='button' value='Delete' onclick='deleteEmployee()' style='margin-left:10px;width:85px;display:inline' />
</li>
</ul>
</div>
?>

我将来自employeedb.php的$ _SESSION [“Msg”]值传递给employee.php 这是我的employeedb.php

<?php
require_once("includes.php");
$genObj=new general();
$type=$_GET["type"];
$emp_id=$_POST["HFEmpID"];
if($type=="delete")
{
mysql_query("UPDATE employee SET del_flag=1 WHERE emp_id=".$emp_id."");
$_SESSION["Msg"]="Employee details deleted successfully!";
}
 header( 'Location:Employee.php');
?>

当点击删除按钮时,我正在调用这个javascript函数, 这是我的javascript函数。

function deleteEmployee()
{
var del = confirm("Are you sure you want to delete this Employee?");
if (del == true)
{
document.forms[0].action="employeeDB.php?type=delete";
document.forms[0].submit();
}
else
{
document.forms[0].action="employeeDB.php";
}
}

这是我的includes.php,我已经开始会话了

<?php
session_start();
ob_start();
//Session Starts    
require_once("config/config.php");      
require_once("config/dbcon/dbcon.php");
require_once("classes/csGeneral.php");
require_once("classes/csPager.php");
require_once("classes/csImageFunctions.php");
require_once("classes/striptag.php");
/* $_SESSION["returnURL"]=$_SERVER['HTTP_REFERER'];  */
$genCheckUser=new general();
$genCheckUser->getUserIDCookie();
?>

3 个答案:

答案 0 :(得分:4)

在检查变量是否为空之前,您必须检查变量是否确实存在。

所以将第6行改为:

if (isset($_SESSION['Msg']))

从PHP手册:

  

isset - 确定变量是否已设置且不是NULL

答案 1 :(得分:1)

在您的代码中,您刚刚回复了$_SESSION['Msg']

<b><?php  echo $_SESSION["Msg"]; ?> </b>

这会在开始时出错,因为您没有为此设置值 之前没有删除,以便删除错误

所以你必须添加条件,如果$ _SESSION ['Msg']尚未设置,则不要回显它..

<b><?php  if(!empty($_SESSION['Msg'])){ echo $_SESSION["Msg"];} ?> </b>

答案 2 :(得分:0)

session_start();
ob_start();

应该是:

ob_start();
session_start();
.
.
.
ob_flush();       <------- last statement