Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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
PHP/MySQL/AJAX-updatequery不';t使用会话变量创建记录_Php_Mysql_Ajax - Fatal编程技术网

PHP/MySQL/AJAX-updatequery不';t使用会话变量创建记录

PHP/MySQL/AJAX-updatequery不';t使用会话变量创建记录,php,mysql,ajax,Php,Mysql,Ajax,我有一个创建任务的页面。用户必须登录才能访问它。我正在使用ajax将表单数据发布到php页面。在PHP页面上的表单数据顶部,我检查是否设置了会话变量,然后为其分配一个变量,稍后我将使用该变量插入数据库 阿贾克斯: } 我认为查询失败是因为在通过AJAX执行请求时,会话变量(userid)没有正确传递。我不熟悉PHP、MySQL和AJAX,所以如果有人能给我指明正确的方向,那就太好了 谢谢。请确保您已经在php脚本上调用了session\u start,我指的是设置$\u session['use

我有一个创建任务的页面。用户必须登录才能访问它。我正在使用ajax将表单数据发布到php页面。在PHP页面上的表单数据顶部,我检查是否设置了会话变量,然后为其分配一个变量,稍后我将使用该变量插入数据库

阿贾克斯:

}

我认为查询失败是因为在通过AJAX执行请求时,会话变量(userid)没有正确传递。我不熟悉PHP、MySQL和AJAX,所以如果有人能给我指明正确的方向,那就太好了


谢谢。

请确保您已经在php脚本上调用了session\u start,我指的是设置$\u session['userid']的脚本和ajax调用的脚本,即register\u进程。php

看起来您正在通过
$\u POST
,而不是
$\u session
。如果不是这样,请添加设置
$\u会话的代码。PHP代码块的前三行。刚刚选中,我确实没有在PHP文件上调用SESSION\u start。我会加上它,再试试。将发布结果。看起来它现在可以工作了,但是我现在收到PHP通知说会话已经开始了。你知道我怎么能绕过它吗?如果php说已经启动,这意味着你现在有一个重复的会话启动,通知应该报告行号,这样就很容易修复了
<script>
$(document).ready(function() {
$("#FormSubmit").click(function (e) {
e.preventDefault();

var hasError = false;

task_name = $("#task_name").val();
if(task_name === '') {
    $("#error").empty().append("Please enter task name.");
    $("#task_name").css("border-color", "#FF5454");
    hasError  = true;
    return false;
} else {
    $("#error").hide();
    $("#task_name").css("border-color", "#4DC742");
}

task_notes = $("#task_notes").val();

task_duedate = $("#datepicker1").val();
if(task_duedate === '') {
    $("#error").show();
    $("#error").empty().append("Please enter a task due date.");
    $("#datepicker1").css("border-color", "#FF5454");
    hasError  = true;
    return false;
} else {
    $("#error").hide();
    $("#datepicker1").css("border-color", "#4DC742");
}

task_category = $("#task_category").val();
if(task_category === '') {
    $("#error").show();
    $("#error").empty().append("Please select a task category.");
    $("#task_category").css("border-color", "#FF5454");
    hasError  = true;
    return false;
} else {
    $("#error").hide();
    $("#task_category").css("border-color", "#4DC742");
}

if(hasError == false){
jQuery.ajax({
type: "POST",
url: "http://test.student-portal.co.uk/includes/register_process.php",
data:'userid=' + userid + '&task_name=' + task_name + '&task_notes=' + task_notes + '&task_duedate=' + task_duedate + '&task_category=' + task_category,
success:function(response){
    $("#hide").hide();
    $("#register-button").hide();
    $("#FormSubmit").hide();
    $("#error").hide();
    $("#success").append('Task created successfully. To create another task, simply fill in the form again.');
    $("#success-button").show();
},
error:function (xhr, ajaxOptions, thrownError){
    $("#error").show();
    $("#error").empty().append(thrownError);
}
});
}

return true;

});
});
</script>
if (isset($_SESSION['userid']))
$userid = $_SESSION['userid'];
else $userid = '';

if (isset($_POST['task_name'], $_POST['task_notes'], $_POST['task_duedate'], $_POST['task_category'])) {

$task_name = filter_input(INPUT_POST, 'task_name', FILTER_SANITIZE_STRING);
$task_notes = filter_input(INPUT_POST, 'task_notes', FILTER_SANITIZE_STRING);
$task_duedate = filter_input(INPUT_POST, 'task_duedate', FILTER_SANITIZE_STRING);
$task_category = filter_input(INPUT_POST, 'task_category', FILTER_SANITIZE_STRING);

// Check existing task name
$stmt1 = $mysqli->prepare("SELECT userid FROM user_tasks WHERE task_name = ? LIMIT 1");
$stmt1->bind_param('s', $task_name);
$stmt1->execute();
$stmt1->store_result();
$stmt1->bind_result($db_userid);
$stmt1->fetch();

if ($stmt1->num_rows == 1) {
header('HTTP/1.0 550 A task with this task name already exists.');
exit();
$stmt1->close();
} else {

$task_status = 'active';

$stmt2 = $mysqli->prepare("INSERT INTO user_tasks (userid, task_name, task_notes, task_duedate, task_category, task_status) VALUES (?, ?, ?, ?, ?, ?)");
$stmt2->bind_param('isssss', $userid, $task_name, $task_notes, $task_duedate, $task_category, $task_status);
$stmt2->execute();
$stmt2->close();

}