【问题标题】:Mysql Situation where user crashesMysql用户崩溃的情况
【发布时间】:2012-09-21 09:19:42
【问题描述】:

所以我有一个 2 页的注册页面,用户在第一页输入他/她的所有数据,然后单击继续。在第二页上,他们选择了某些选项,然后单击继续,这会将他们带到可以处理付款的其他地方(与我完全无关)。

我还有一个 Insert.php 文件,它只是将所有用户的数据插入到数据库中。当在 page2 上单击提交时,它实际上将它们重定向到 Insert.php,插入然后将它们重定向到外部支付页面。我不得不这样做,因为出于某种原因,ajax 调用不起作用。

我的问题是,如果他们在第二页单击提交后,他们的计算机崩溃或关闭浏览器怎么办? mysql 会理解连接已终止并且不保存任何内容,还是会保存部分数据(在用户崩溃之前尽可能多地保存),如果是,我该如何删除部分数据?

在这一点上,我只是尝试尽可能多地进行错误处理,以防止出现任何严重问题。

【问题讨论】:

  • 您需要向我们展示一些代码,也许还需要您的数据库结构的屏幕截图(如果可能)。如果用户的浏览器在他们保存第二页上的任何信息之前崩溃,mySQL 不会知道。

标签: php mysql database pdo phpmyadmin


【解决方案1】:

当他们点击提交时,如果浏览器发送了所有的 post 字段,你的代码将愉快地继续执行。就服务器而言,没有发生任何重要的事情。

我建议在代码中进行一些 post/get 检查(与往常一样),这将确保所有数据都已通过。如果有,它将为用户正确保存。

编辑:如果您担心在崩溃之前只发送表单的某些元素,您可以执行以下操作:

if(!empty($_POST['someElement']) && !empty($_POST['someElement2']) && !empty($_POST['someElement2']))
{
    //All your elements are fully submitted, you can save the data safely
}

【讨论】:

  • post/get 检查到底是什么意思?
猜你喜欢
  • 2012-03-24
  • 2016-03-19
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
  • 2014-10-30
  • 1970-01-01
  • 2011-06-25
  • 2015-12-08
相关资源
最近更新 更多