php - 如何从我的数据库中获取一个值并使用 cookie 或类似方法在页面上显示它?
问题描述
我的网站连接到一个产品数据库,每个产品都有一个唯一的零件编号(以及其他详细信息,例如制造商和描述)。
例如:
“产品 A”的部件号可能为“275”。
“产品 B”的部件号可能为“608”。
使用我们的原始开发人员创建的插件,这些零件编号用于自动为每个产品/零件编号变化创建一个页面(每次我们将新产品添加到数据库中)。
例如:
部件号“275”创建 www.mydomain.com/producta/275
部件号“608”创建 www.mydomain.com/productb/608
每个新页面本质上都是一个模板页面,它将产品名称和部件号(以及制造商和描述)添加到通用产品页面的各个位置。
因此,为了从数据库中检索信息并将其放入模板页面,我们连接到数据库并使用以下命令调用产品名称、部件号、制造商和描述:
$prod = $item['product_name'];
$pn = $item['part_number'];
$man = $item['manufacturer'];
$desc = $item['description'];
我需要的
我想创建一个按钮,例如“添加到报价单”,它会自动从用户所在的产品页面获取部件号 ($pn) 的值,并将其添加到另一个名为“我的报价单”页面的表单字段中。
重要的是,值不仅会转移到“我的报价”页面,而且“我的报价”页面会存储字段的值,以便用户可以转到另一个产品页面并重复该过程并基本上建立了他们需要的零件清单。
我已经通过某种方式将 cookie 的值设置为基于 $pn 的值的变量,但我认为这是不可能的:
Cookies.set("partnumber", "//code here to read the $pn of the page and set as the cookie value", { expires: 7 });
我知道上述内容不正确,但我想知道是否有办法将“$pn”替换为读取用户所在页面的部件号,然后将 cookie 保存在“添加到报价单”按钮上单击并在“我的报价”表单页面上的字段中读取并显示 cookie 值?
饼干可能不是要走的路,所以我会很感激任何其他想法。我对此非常陌生,因此对于我的问题的任何不良格式提前道歉。
解决方案
您的$pn
变量位于服务器上,而您的 Javascript 代码在浏览器中运行,因此在执行 Javascript 时您无法访问该变量,这是您遇到的问题,但幸运的是它是可以解决的。您将需要一个服务器代码,该代码将在您的 Javascript 尝试使用此值之前运行。您需要将类似这样的内容写入 .php 文件,该文件将为给定页面运行:
<script type="text/javascript>
var pn = <?php echo $pn; ?>;
Cookies.set("partnumber", pn, { expires: 7 }); //Assuming that the Cookies prototype exists here and it has a set function, which creates a cookie
</script>
此 PHP 将在服务器上运行并为您生成适当的 HTML。
您也可以将值存储到$_SESSION
而不是浏览器 cookie 中,然后您就可以使用$_SESSION["part_number"]
推荐阅读
- arrays - 如何对应用于范围内每个元素的函数求和?
- python - 使用 python 连接到 Azure 笔记本中的 microsoft sql server (on prem)
- logging - rsyslog 通过 RELP 发送日志失败
- c++ - 即使调用了 notify_all,工作线程也会在 condition_variable 处等待
- oracle - Oracle Apex:区域源(apex_util.prepare_url)
- swift - 另一个类变量赋值swift
- sap-cloud-sdk - SAP Cloud SDK VDM 生成器是否正确处理 EDMX 注释?
- jquery - jQuery 禁用 preventDefault
- visual-c++ - 从 Visual Studio 2008 升级到 Visual Studio 2019 时单选按钮未正确呈现?
- json - 将 JSON 列表发送到 Spring 控制器会导致 null 值