单击按钮时PHP设置会话变量

时间:2016-01-27 20:48:31

标签: php session

当用户点击4/6'每次发货零食'和每周/每两周/每月'发货频率'时,功能会显示上方右侧的详细信息按钮。

我是一个noob开发者,想要存储用户选择的任何信息,作为会话变量,只要按钮“选择你的零食”即可。点击。在这个例子中,我希望存储4和每两周一次。

enter image description here

这是启动会话时的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>";
?>

2 个答案:

答案 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;

}

?>