如何从数据库中获取值并使用Cookie或类似内容在页面上显示它?

时间:2018-08-13 11:45:16

标签: php cookies

我的网站连接到产品数据库,每个产品均分配有唯一的零件号(以及其他详细信息,例如制造商和描述)。

例如:

“产品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的值将cookie的值设置为变量,但我认为这是不可能的:

Cookies.set("partnumber", "//code here to read the $pn of the page and set as the cookie value", { expires: 7 });

我知道上面的说法是不正确的,但是我想知道是否可以用某种方式替换“ $ pn”以读取用户所在页面的部件号,然后将Cookie保存在“添加到报价”中单击按钮并阅读并在“我的报价”表单页面上的字段中显示cookie值?

使用cookie可能不是走的路,所以我将不胜感激其他想法。我对此很陌生,因此对于我的问题的格式不正确,请提前道歉。

1 个答案:

答案 0 :(得分:1)

您的$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"]