当用户点击4/6'每次发货零食'和每周/每两周/每月'发货频率'时,功能会显示上方右侧的详细信息按钮。
我是一个noob开发者,想要存储用户选择的任何信息,作为会话变量,只要按钮“选择你的零食”即可。点击。在这个例子中,我希望存储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>";
?>
答案 0 :(得分:1)
在第一段代码中,您混合了PHP / JS ......
提交后,请尝试将单位和频率放在同一表格上。
请记住 php.ini上的TurnOn display_errors 指令
答案 1 :(得分:0)
在页面加载之前需要分配会话变量。你无法用JavaScript操纵它们。一旦完全最终确定,您应该将结果提交到另一个页面,然后在新页面加载时使用PHP获取结果,或者如果您想进入更复杂的事情,请使用ajax或其他东西提交它们。
您的PHP看起来应该更像这样,因为您最初将它与JavaScript混合在一起。
include_once 'dbconnect.php';
if(isset($_POST['choose']))
{
$unit = $_POST['unit'];
$frequency = $_POST['frequency'];
// Set session variables
$_SESSION["unit"] = $unit;
$_SESSION["frequency"] = $frequency;
}
?>