【发布时间】:2019-04-17 15:04:27
【问题描述】:
当用户点击 4/6 的“每次发货零食”和每周/每两周/每月的“发货频率”时,一个函数会在按钮上方的右侧显示详细信息。
我是一名新手开发人员,希望在单击“选择您的零食”按钮后将用户选择的任何信息存储为会话变量。在此示例中,我希望每两周存储 4 个。
这是我开始会话时的 PHP 代码
<?php
session_start();
include_once 'dbconnect.php';
if(isset($_POST['choose']))
{
$unit = document.getElementById('unit').innerHTML;
$frequency = document.getElementById('frequency').innerHTML;
// Set session variables
$_SESSION["unit"] = $unit;
$_SESSION["frequency"] = $frequency;
}
?>
这里是按钮相关的代码
<div class="pricing-button" method="POST">
<a href="session.php" class="btn btn-yellow btn-rounded btn-lg"
name="choose" type="submit">Choose Your Snacks</a>
</div>
这是我与抓取用户选择的内容相关的代码
<script>
function change(unit){
document.getElementById('unit').innerHTML = unit;
}
function frequency(frequency){
document.getElementById('frequency').innerHTML = frequency;
}
</script>
这是我正在测试会话变量是否正常工作的地方
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous page
echo "Customer wants " . $_SESSION["unit"] . "<br>";
echo "This many times " . $_SESSION["frequency"] . "<br>";
?>
【问题讨论】:
-
我可能对此完全不感兴趣,但是这个 javascript 不是与 php 错误地混合在一起吗? $unit = document.getElementById('unit').innerHTML;
-
div 标签有method="post"?方法是表单的属性。你需要先花时间学习这些语言。你刚刚混合了一切!
-
你在这里似乎很困惑。
if(isset($_POST['choose']))是 PHP,但是你有$unit(PHP)= document.getElementById('unit').innerHTML;(JavaScript)。你不能像那样挑选语言。 -
Div 方法?一种类型??
-
正如其他人所说,您正在混合 PHP 和 JavaScript。您可以使用 JavaScript 将这些信息存储为变量并使用 AJAX 提交,或者使用 JS 将这些信息设置为隐藏的 html 表单字段的值属性( ) 然后通过提交按钮或通过 JS 的 form.submit 函数提交包含隐藏输入字段的表单。