Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在单击submit按钮时创建php会话变量?_Php_Jquery_Ajax_Session Variables - Fatal编程技术网

如何在单击submit按钮时创建php会话变量?

如何在单击submit按钮时创建php会话变量?,php,jquery,ajax,session-variables,Php,Jquery,Ajax,Session Variables,我有一个使用简单提交按钮的表单。现在我想在单击submit按钮时创建一个php会话变量。当有人单击submit按钮时,将调用一个函数,该函数检查会话变量是否已创建,如果已创建,则执行其他操作创建新会话变量 例如-- 函数sess(){ if(会话变量存在){ 做点什么 } 否则{ 创建新会话变量 } } 这就是我想要实现的目标。 为此,我使用以下代码-- $('div_session').bind('click',function(){ $.ajax({ 键入:“POST”, url:“s

我有一个使用简单提交按钮的表单。现在我想在单击submit按钮时创建一个php会话变量。当有人单击submit按钮时,将调用一个函数,该函数检查会话变量是否已创建,如果已创建,则执行其他操作创建新会话变量

例如--


函数sess(){
if(会话变量存在){
做点什么
}
否则{
创建新会话变量
}
}
这就是我想要实现的目标。 为此,我使用以下代码--


$('div_session').bind('click',function(){
$.ajax({
键入:“POST”,
url:“session_write.php”,
数据:{cart_items:'fffg'},
成功:函数(数据){$('#cart').html(“asd”);警报(“cart1”);},
错误:函数(ts){alert(ts.responseText)}
});
});
session_write.php

<?
session_start();

$_SESSION['cart_items'] = $_POST['cart_items'];
//echo $_SESSION['cart_items'];
?>

试试这个:

<?php session_start(); ?>
<form action="" method="POST">
 <input type="submit" name="submit" value="Submit">
</form>
<?php
if (isset($_POST['submit'])===true) {
 if (isset($_SESSION['cart_items'])===true) {
    //Session is set, do anything here
 } else {
    //Session is not set, setting session now
    $_SESSION['cart_items'] = $_POST['cart_items']; //Session is now set
 }
}
?>


您需要将$\u POST['cart\u items']设置为某物,因为在这个简单的脚本中没有声明它。我希望这对你有帮助

不确定您的问题是什么,您面临的问题是什么……您能解释一下吗?第一部分似乎希望从javascript检查php会话值,如果没有对php文件的额外调用,这是无法做到的。每次我在某人使用AJAX的代码中看到submit按钮或
标记时,我都想擦亮眼睛。但是当检查此条件时--if(isset($\u POST['submit'])==true)因为在单击“提交”按钮之前,将对其进行分析。您希望在按下按钮时设置会话吗?或者在按下按钮之前?我希望在按下按钮时设置会话。这将在按下按钮时设置会话。if(isset($\u POST['submit'])==true)将检查按钮是否已按下,按下按钮后,将检查是否已设置会话。如果会话已设置,它将执行某些操作;如果会话尚未设置,它将设置会话。加载此页面时,它将包含表单和此验证检查。因此,php语句将首先被解析,它将在第一个条件检查中返回false。当点击提交按钮时,它将被重定向到其他页面。
<?
session_start();

$_SESSION['cart_items'] = $_POST['cart_items'];
//echo $_SESSION['cart_items'];
?>
<?php session_start(); ?>
<form action="" method="POST">
 <input type="submit" name="submit" value="Submit">
</form>
<?php
if (isset($_POST['submit'])===true) {
 if (isset($_SESSION['cart_items'])===true) {
    //Session is set, do anything here
 } else {
    //Session is not set, setting session now
    $_SESSION['cart_items'] = $_POST['cart_items']; //Session is now set
 }
}
?>