【问题标题】:Saving a USER preference variable after logout注销后保存用户首选项变量
【发布时间】:2015-07-05 13:02:18
【问题描述】:

在我的项目中,如果用户提交了表单,我需要保存用户的信息。我正在做的是将它保存在$_SESSION[] 变量中,当用户提交它保存在会话变量中的表单并通过编写if(!isset($_SESSION['page'])) 我限制用户访问该页面但是当我注销时整个会话被破坏。我又能注册但用户已经注册了,如何阻止用户重新注册 这是表格

当表单提交成功我设置$_SESSION['personal_datas']=1;

当用户在提交后重新访问他的表单时

我检查

 <?php if(!isset($_SESSION['personal_datas'])): ?>
      //display the form
  <?php else: ?>

   <div class="well">
     YOU HAVE SUCCESSFULLY SUBMITTED THE FORM
   </div>
  <?php endif; ?>

但是当我注销我重新访问页面时,它会显示相同的未填写表单

如何阻止用户重新登录后重新注册?

【问题讨论】:

    标签: php codeigniter codeigniter-3


    【解决方案1】:

    使用 cookie 或其他形式的半永久性存储。当您关闭浏览器时,会话数据无论如何都会过期。

    【讨论】:

    • 我想要一个全局的永久持久存储变量,因为 cookie 取决于浏览器/计算机。
    • 没有这样的东西。我可以随时删除我的 cookie,我可以随时关闭我的浏览器,但你无法阻止我。
    【解决方案2】:

    如果用户在表单中输入了一些独特的内容(例如用户名或个人身份证号),您可以将其存储在数据库中,并且每次提交表单时检查用户名(或其他)是否提供尚未在数据库中。

    否则,无法永久阻止用户再次提交表单。 Cookie 可以被删除(并且是特定于浏览器的)。 IP 地址不是固定的,许多用户可以拥有相同的 IP。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-16
      • 2014-04-06
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-13
      • 1970-01-01
      相关资源
      最近更新 更多