Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 解决刷新和“打开”时获取参数触发函数的问题;“回去”吗;?_Php_Jquery - Fatal编程技术网

Php 解决刷新和“打开”时获取参数触发函数的问题;“回去”吗;?

Php 解决刷新和“打开”时获取参数触发函数的问题;“回去”吗;?,php,jquery,Php,Jquery,我一直在构建一个小型CMS的演示,主要用于添加和编辑表单数据库,其中一个要求是要有对话框来确认操作是否成功(或错误解释是否成功) 我通过使用jquery ui对话框来处理它。在通过POST方法将数据发送到(单独的)php脚本之前,单击按钮时会出现确认对话框,这些对话框工作正常。“成功”和“错误”消息是通过引用带有GET函数要处理的url参数的主页来触发的,它们也可以工作。唯一的问题是,如果用户刷新页面,他会再次得到相同的消息(当然,当他转到另一个页面,然后返回时也会发生这种情况)。对于这个问题是

我一直在构建一个小型CMS的演示,主要用于添加和编辑表单数据库,其中一个要求是要有对话框来确认操作是否成功(或错误解释是否成功)

我通过使用jquery ui对话框来处理它。在通过POST方法将数据发送到(单独的)php脚本之前,单击按钮时会出现确认对话框,这些对话框工作正常。“成功”和“错误”消息是通过引用带有GET函数要处理的url参数的主页来触发的,它们也可以工作。唯一的问题是,如果用户刷新页面,他会再次得到相同的消息(当然,当他转到另一个页面,然后返回时也会发生这种情况)。对于这个问题是否有一个简单的解决方法,或者是否有合适的替代方案来解决整个消息问题

代码示例:

在主页上:

$val=$_GET['check'];
if ($val){
  $msg=$_GET['msg'];
  echo '<div id="error"><h4>';
  echo $msg;
  echo '</div></h4>';
  echo '<script>';
  echo '$( "#error" ).dialog({ autoOpen: true });';
  echo '$( "#error" ).dialog({ buttons: [{ text: "Close", click: function() { $( this
   ).dialog( "close" ); } } ]});';
  echo '</script>';
}

提前感谢。

这类问题可以通过会话解决,在您的情况下,当用户收到消息成功或错误提示时,您可以在会话参数中设置一个值,表示用户已看到警报消息

<?php
session_start();
$val = $_GET['check'];
if ($val && !isset($_SESSION['alert'])){
      $_SESSION['alert'] = true;
      $msg = $_GET['msg'];
      echo '<div id="error"><h4>';
      echo $msg;
      echo '</div></h4>';
      echo '<script>';
      echo '$( "#error" ).dialog({ autoOpen: true });';
      echo '$( "#error" ).dialog({ buttons: [{ text: "Close", click: function() { $( this
       ).dialog( "close" ); } } ]});';
      echo '</script>';
}
?>


在谷歌搜索“php flash消息”好的,谢谢。希望在我的代码中实现起来不要太复杂。你能提供代码吗?这里是添加的代码示例。我有多个php函数的头调用。谢谢。因为我已经使用会话进行管理登录检查,所以它简单而优雅。
<?php
session_start();
$val = $_GET['check'];
if ($val && !isset($_SESSION['alert'])){
      $_SESSION['alert'] = true;
      $msg = $_GET['msg'];
      echo '<div id="error"><h4>';
      echo $msg;
      echo '</div></h4>';
      echo '<script>';
      echo '$( "#error" ).dialog({ autoOpen: true });';
      echo '$( "#error" ).dialog({ buttons: [{ text: "Close", click: function() { $( this
       ).dialog( "close" ); } } ]});';
      echo '</script>';
}
?>