php - 保存提交变量而不使用数据库?

标签 php

是否可以仅使用 php 保存表单中的输入?那么不使用数据库?

我的代码的当前快照:

html

<form method="post" name = "post">
    <p><input type="text" name="api_key_send" value="" placeholder="api key sendcloud"></p>

php

if($_SERVER['REQUEST_METHOD'] === 'POST') {

 $_SESSION['api_key_send'] = $_POST['api_key_send'];

这是获取用户当前输入并使用它来执行脚本其余部分的方法。我希望用户输入的内容能够被记住,直到新输入覆盖它。当然,我知道您可以为此使用数据库,但这有必要吗?

更新:

它有效,但只有当我一遍又一遍地为用户输入正确的值时。我希望如果您第二次按下按钮,它只会记住之前的输入。

试图澄清:

我的想法是我可以做这样的事情:

$_SESSION['api_key_send'] = $_POST['api_key_send'];
$var = $_POST['api_key_send']; <<<<

最佳答案

$_SESSION可用于临时存储,大多数情况下会通过清除浏览器数据来清除。 (下面对异常(exception)情况进行详细说明)

如果您使用透明 session ID,则任何在地址栏中输入 SID 的人都可以获取该 session 。 session 实际上是根据 PHP 的垃圾收集设置(php.ini 中的 session.gc_* 参数)销毁的 - 即使您使用基于 cookie 的 session 。如果用户取消设置他们的cookie, session 不一定会被破坏,只是该用户不再接收它。 (此阐述归功于@CD001)


使用变量($var)是一种更为临时的解决方案,一旦用户关闭窗口,它就会被取消设置。

$var = $_POST['api_key_send']; <<<<

因此,为了永久存储,您需要使用数据库或将输入保存到文件中。

关于php - 保存提交变量而不使用数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35918214/

相关文章:

javascript - 如何将自定义 PHP 页面添加到 Odoo Community 12?

php - svg 文件 phpstorm 的自动化 CSS Sprite

javascript - Web 上的 AJAX 与 PHP - 安全性

php - 测试字符串 ($text) 以查看它是否包含数字

php - Laravel 5.8 中未找到类 'app\login'

php - Doctrine native sql查询更新

php - php、mysql、memcached 的最佳实践排行榜是什么?

php - 将 Mysql 结果对象转换为关联数组 (CodeIgniter)

php - java.lang.String 类型的值无法转换为 JSONArray

php - 路由 [user.profile] 未定义。拉维尔 5.3