无法显示“保存的数据”;消息在前端


Failng to display "data saved" message in the front end

我在第二页(导出页)成功地将所有值从xml转换为CSV。但是我想在第一页(seat-matrix)显示一条消息"数据转换成功"。

我未能在seat-matrix.php(第一页)中显示消息。请帮帮我。

在"Seatmatrix.php"文件中,我有以下代码:

<form name="export" action="export.php">
<input type="submit" name = "export"  value="Export" title ='Exports all the above info to excel'> 
</form> 

在export.php文件中,我有警报函数和包含的头函数来重定向到座位矩阵页面,如下所示。

<?php  
echo "
<html>
<head>
<SCRIPT LANGUAGE='javascript'>
function Result() {
alert ('"Data exported successfully'");
}
</SCRIPT>
</head>
<body>
";
// export feature code
echo "<SCRIPT LANGUAGE='javascript'>Result();</SCRIPT>'n";
header('location:Seat_matrix.php');
?>

Javascript在浏览器获取之前不会运行。由于头部重定向,它永远不会在浏览器中运行。

您最好的选择是设置一个会话变量,然后检查它是否在Seat_matrix.php中设置。

更简单的方法是将结果发布回原始页面并进行检查。您需要将代码更改为如下内容:

if (isset($_GET['result']) {
    if ($_GET['result'] == "success") {
        echo "Data exported successfully.");
    }
    else {
        echo "Error exporting data.";
    }
}
<form name="export" action="export.php">
<input type="submit" name = "export"  value="Export" title ='Exports all the above info to excel'> 
</form>

在其他代码中,将结果变量添加到url:

header('location:Seat_matrix.php?result=success');

概要:

第一次调用Seat_matrix.php时,没有结果变量,它的程序现在就运行了。执行第二个程序后,它回调Seat_matrix.php并传递变量result。第二次调用Seat_matrix.php时,它检查是否传递了结果变量并显示消息。您可能需要稍微调整一下您想要消息的位置。

我希望这对你有帮助。好运!

编辑

要在编写成功消息后去掉$_GET变量,您可以尝试这样做:

if (isset($_GET['result']) {
    if ($_GET['result'] == "success") {
        echo "Data exported successfully.");
    }
    else {
        echo "Error exporting data.";
    }
    unset ($_GET);
}

我没有测试过上面的方法,但我相信它可能有效。

你可以用JavaScript来做重定向:

<SCRIPT type='text/javascript'>
    alert ('Data exported successfully');
    window.location = 'Seat_matrix.php';
</SCRIPT>