PHP表单不会向MySQL发送新数据

时间:2017-03-26 22:19:46

标签: javascript php jquery html mysql

那么我从哪里开始。

我建立了英国CAD系统(英国警察角色扮演部落)。有问题的区域如下所示:看起来像这样:HR

我创建了一个Intel页面,创建了MySQL表列,一切都很好。但是,当我编辑编辑用户按钮的代码时,为了包括对intel的编辑访问,它将停止工作。整个表单不会发送任何信息。

这是编辑表单的php代码:

<?php
	include('./includes/init.php');
	
	$id = displayData($_POST['id']);
	
	$sql = "SELECT * FROM users WHERE id = '$id';";
	$result = mysqli_query($link, $sql);
	$row = mysqli_fetch_array($result);
?>

<form>
	<label>Rank</label>
	<input type="text" class="form-control" id="txtUserRank" value="<?php echo displayData($row['rank']); ?>" />
	<label>Division</label>
	<input type="text" class="form-control" id="txtUserDiv" value="<?php echo displayData($row['division']); ?>" />
	<label>Control Access</label>
	<select id="txtControl" class="form-control">
		<option value="<?php echo displayData($row['controlAccess']); ?>"><?php echo BoolToLabel(displayData($row['controlAccess'])) ?> (Current)</option>
		<option value="0">No</option>
		<option value="1">Yes</option>
	</select>
	<label>SLT Access</label>
	<select id="txtSLT" class="form-control">
		<option value="<?php echo displayData($row['sltAccess']); ?>"><?php echo BoolToLabel(displayData($row['sltAccess'])) ?> (Current)</option>
		<option value="0">No</option>
		<option value="1">Yes</option>
	</select>
	<label>Intel Access</label>
	<select id="txtIntel" class="form-control">
		<option value="<?php echo displayData($row['intelAccess']); ?>"><?php echo BoolToLabel(displayData($row['intelAccess'])) ?> (Current)</option>
		<option value="0">No</option>
		<option value="1">Yes</option>
	</select>
	<br />
	<button class="btn btn-block btn-info btnSaveSLTUserChanges">Save Changes</button>
	<hr />
	<button class="btn btn-block btn-danger btnDeleteUser">Delete User</button>
</form>

以下是将文件发送到数据库的php文件中的代码:

<?php
include('./includes/init.php');

$id = displayData($_POST['id']);
$rank = displayData($_POST['rank']);
$div = displayData($_POST['div']);
$control = displayData($_POST['control']);
$slt = displayData($_POST['slt']);
$intel = displayData($_POST['intel']);

$sql = "UPDATE `users` SET `rank`='$rank',`division`='$div',`controlAccess`='$control',`sltAccess`='$slt', `intelAccess`='$intel' WHERE id = '$id';";
mysqli_query($link, $sql);

这是.js代码

$('body').on('click', '.btnSaveSLTUserChanges', function() {
	
	var id = $('#addUnitsModalBody').attr("unitid");
	var rank = $('#txtUserRank').val();
	var div = $('#txtUserDiv').val();
	var control = $('#txtControl').val();
	var slt = $('#txtSLT').val();
    var intel = $('#txtIntel').val();
	
	var dataString = 'id=' + id + '&rank=' + rank + '&div=' + div + '&control=' + control + '&slt=' + slt + '&intel=' + intel;
		$.ajax({
			type: "POST",
			url: "./sltEditAccount.php",
			data: dataString,
			success: function(response) {
				$('#Members').load(document.URL +  ' #Members');
			}
		});
});

任何帮助都会受到赞赏。

注意:在我添加与英特尔有关的任何内容之前,表单工作正常,没有问题。

由于 泰勒

2 个答案:

答案 0 :(得分:0)

我不知道元素在哪里&#34; addUnitsModalBody&#34;定义

var id = $('#addUnitsModalBody').attr("unitid");

您是否尝试在浏览器控制台中看到输出,看看它是否报告了任何javascript错误?

答案 1 :(得分:0)

修正了它。

之间有空格
`sltAccess`='$slt', `intelAccess`='$intel'

将其更改为

`sltAccess`='$slt',`intelAccess`='$intel'

现在工作正常,感谢每个人的帮助,现在感觉有点傻哈哈。