gpt4 book ai didi

php - 如何更新 session 变量

转载 作者:可可西里 更新时间:2023-11-01 13:32:15 26 4
gpt4 key购买 nike

我正在使用 Ajax 创建一个多步骤表单,并希望根据表单字段的值更改显示的文本。我认为执行此操作的一个好方法是使用 session 变量。我如何告诉 session 更新新的字段值?目前, session 似乎只存储初始值,但不存储任何更新。因此,如果用户输入“John”作为名字,然后返回并将其更改为“Frank”,则“John”是存储的名字。

if (!isset($_SESSION)) {
session_start();
$_SESSION['formStarted'] = true;
$_SESSION['timestamp'] = date("M d Y H:i:s");
$_SESSION[$key] = $value;

<p>Your name begins with the letter <?php if ($_SESSION['name'] =='Frank')
{echo 'F';}?><p>

jQuery:

$("#form").validate({
//...
submitHandler: function(form) {

//...
$(form).ajaxSubmit({
type: "POST",
data: {
name : $('#name').val(),
//...
},
dataType: 'json',
url: '../ajaxtest.php',
error: function() {alert("There was an error processing this page.");},
success:
function(data) {
$('#output1').html(data.message.join(' ')).show(500);
$('#ouput1').append(data);
//...

ajaxtest.php:

session_start();

$expected = array(
'name'=>'string',
//...
);

//...

$return['message']=array();
if(!empty($_POST['name'])){
$return['message'][] = '' . htmlentities($_POST['name'], ENT_QUOTES, 'UTF-8');
}
//...
echo json_encode($return);

最佳答案

您可以像更新一个简单变量一样更新$_SESSION$_SESSION 是一个全局变量,您可以在 session_start() 声明之后访问它。

当您想要更改时,不需要取消设置 session ,因为您正在使用相同的内存地址。

例如:

index.php

<?php 
session_start();
$_SESSION['key'] = 'firstValue';

另一个页面.php

<?php
session_start();
session_regenerate_id() // that's not required
$_SESSION['key'] = 'newValue';

checkpage.php

<?php
session_start();
echo $_SESSIOn['key'];

导航

index.php -> anotherpage.php -> checkpage.php // output 'newValue'

关于php - 如何更新 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6158580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com