0

従業員を削除すると、「未定義のインデックス:Employee.phpのメッセージ」というエラーが発生します。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>
?>

$_SESSION["Msg"]値をemployeedb.phpから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();
?>
4

3 に答える 3

4

変数が空かどうかを確認する前に、変数が実際に存在するかどうかを確認する必要があります。

したがって、6行目を次のように変更します。

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

PHPマニュアルから:

isset —変数が設定されていてNULLでないかどうかを判別します

于 2013-03-25T16:07:58.133 に答える
1

あなたのコードであなたはちょうどエコーしました$_SESSION['Msg']

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

エラーを削除するために以前に削除を行ったことがないため、これに値を設定していないため、これは最初にエラーが発生します

したがって、$ _ SESSION ['Msg']がまだ設定されていない場合は、エコーしないという条件を追加する必要があります。

<b><?php  if(!empty($_SESSION['Msg'])){ echo $_SESSION["Msg"];} ?> </b>
于 2013-03-25T06:19:14.160 に答える
0
session_start();
ob_start();

する必要があります:

ob_start();
session_start();
.
.
.
ob_flush();       <------- last statement
于 2013-03-25T07:06:51.590 に答える