Tôi đang tạo biểu mẫu nhiều bước với Ajax và muốn thay đổi văn bản được hiển thị dựa trên giá trị của trường biểu mẫu. Tôi nghĩ rằng một cách tốt để làm điều này sẽ là với một biến phiên. Làm thế nào để tôi nói phiên để cập nhật với giá trị trường mới? Hiện tại, phiên chỉ dường như lưu trữ giá trị ban đầu, nhưng không có bất kỳ cập nhật nào đối với nó. Vì vậy, nếu người dùng nhập "John" làm tên và sau đó quay lại và thay đổi thành "Frank", "John" là tên được lưu trữ.Cách cập nhật biến phiên
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);
Tôi không thấy một cách mà có thể là một vấn đề PHP. Nó trông giống như một vấn đề mã. Đăng mã ajax của bạn gửi yêu cầu và ưu tiên đầu ra của một số var_exports của $ key và $ _SESSION trên dòng 6. – Paystey
Bạn đang sử dụng sự kiện nào để kích hoạt mã ajax? –
@Jim Mã ajax đang được kích hoạt bằng nút gửi. Tôi đang sử dụng accordion với các phần khác nhau của biểu mẫu trong mỗi phần. – Ken