我的网站连接到产品数据库,每个产品均分配有唯一的零件号(以及其他详细信息,例如制造商和描述)。
例如:
“产品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可能不是走的路,所以我将不胜感激其他想法。我对此很陌生,因此对于我的问题的格式不正确,请提前道歉。
答案 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"]