保存记录时,如何在php语句中使用jquery对话框显示消息?

保存记录时,如何在php语句中使用jquery对话框显示消息?,php,jquery,jquery-ui-dialog,Php,Jquery,Jquery Ui Dialog,解决方案 我希望有人觉得这有用 css创建一个消息框和图标 .messagebox { position:fixed; background-color:#000000; color:#ffffff; margin-left:400px; margin-top:100px; border:3px solid #ffffff; font-family:'Voltaire', sans-serif; font-size:24px; height:30px; width:180px; border-r

解决方案

我希望有人觉得这有用

css创建一个消息框和图标

.messagebox {
position:fixed;
background-color:#000000;
color:#ffffff;
margin-left:400px;
margin-top:100px;
border:3px solid #ffffff;
font-family:'Voltaire', sans-serif;
font-size:24px;
height:30px;
width:180px;
border-radius:15px;
z-index:1;
padding:7px 0px 7px 20px;
}

p.icon{
position:fixed;
left:28.2em;
top:375px;
width:20px; 
height:20px; 
background-color:#ffff00;
border-radius:1px;
margin-left:10%;
}
Firefox对齐修复程序:

@-moz-document url-prefix() {
p.icon {top:15.7em;}
}
首先声明用于显示消息的变量

$message = $_GET['message'];
保存时重定向的查询示例

if($sql = mysql_db_query ($DBName, $Query, $Link)) {
$message = "Record Saved";
header("Location: edit.php?");
}
php内部HTML部分:

<?php if(isset($_GET['message']) && !empty($message)): ?>
<div class="messagebox">
<?php echo $message ?><p class="icon">
</div>
<?php endif; ?>
</p>
我尝试在进行如下更改时运行对话框:

if($sql = mysql_db_query ($DBName, $Query, $Link)) {
echo '
<div id="dialog">
'.$message = "Your changes have been saved".
header("Location: edit.php?");

如何使对话框仅在用户保存记录时显示?有没有办法在css消息框中添加关闭按钮?更新:我在下面读了你的评论,这就是你的意思吗

if($sql = mysql_db_query ($DBName, $Query, $Link)) {
    echo "'<p class="messagebox">' . $message . '<a href="#" onclick="this.parentNode.style.display=\'none\';">Close</a></p>";
}
if($sql=mysql\u db\u query($DBName,$query,$Link)){
echo“'

”.$message.

”; }
PHP仅在服务器上运行,因此在客户端(用户保存记录)上执行PHP代码时,必须进行XHR调用或重新加载页面。如果您显示更多代码,它可能有助于详细说明您的问题。当用户保存时,是否要保留在页面上?或者您可以刷新页面以提供确认信息吗?谢谢。我在同一条语句中已经有了重定向:如果($sql=mysql\u db\u query($DBName,$query,$Link)){$message=“您的更改已保存”;$current=$\u GET['page'];头(“Location:edit.php?page=“.current.”&message=“.urlencode($message))},那么在html中:

问题是消息“您的更改已保存”停留在屏幕上,这就是为什么我考虑使用弹出窗口。在上面的php语句中显示消息后,是否有方法刷新页面?是否要连接这些分配?如果不是,请将末尾的点改为分号。例如:
$message=“您的更改已保存”。谢谢,但是我在所有页面上都使用$message变量来传递消息,而且它的样式是以某种方式设置的,我已经设置了媒体查询来定位它,所以我希望避免使用警报,因为它们看起来有点凌乱。使用此警报时,出现了一个php[]运算符不支持字符串错误,我已设法修复了该错误,但如果它干扰了其他元素,我希望不要进行太多更改。我想这会更容易!差不多了。我把问题留在原处。然后在html内部:现在消息只在进行更改时显示,只是它留在屏幕上,所以我需要我猜javascript链接到消息,这样它在单击时关闭。不起作用。我又犯了致命的错误。这会在保存记录时弹出消息框,但我需要一种关闭该框的方法。破解它。完整的解决方案如下。
if($sql = mysql_db_query ($DBName, $Query, $Link)) {
$message = "Your changes have been saved";
$current = $_GET['page'];
header("Location: edit.php?");
}
if($sql = mysql_db_query ($DBName, $Query, $Link)) {
echo '
<div id="dialog">
'.$message = "Your changes have been saved".
header("Location: edit.php?");
Your changes have been saved1
Fatal error: [] operator not supported for strings in edit.php on line 161
if($sql = mysql_db_query ($DBName, $Query, $Link)) {
    echo "'<p class="messagebox">' . $message . '<a href="#" onclick="this.parentNode.style.display=\'none\';">Close</a></p>";
}