gpt4 book ai didi

javascript - 内爆 :Invalid arguments in an array?

转载 作者:行者123 更新时间:2023-11-29 07:33:09 27 4
gpt4 key购买 nike

我的 js 文件中有一个数组。在用户选择他喜欢的座位后,数组中的数据创建就完成了。

selection of seats,and data creation in the array

然后我将它发送到一个php文件中进行显示。javascript代码如下所示。

$('#btnsubmit').click(function(ev) {
ev.preventDefault();
var seat = [], item;
$.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) {
item = $(this).attr('title');
seat.push(item);
});
var bookseats = seat;
$.ajax({
type: 'POST',
url: 'confirm.php',
data: {'bookseats': bookseats}
}).then(function(data) {
alert(data);
window.location='confirm.php';
},function(err){
alert('error');
});

发送此数据时,我制作了一个警报(数据)函数来查看值是否正确传递。下面是警报的屏幕截图。 alert

警报清楚地向我们显示数组已传递到 php 页面。但是在我的 php 页面中,没有显示数组的数据。它显示错误“无效参数”。

PHP display

这是我的 php 代码。

$bookseats = "";

if(isset($_POST['bookseats']))
{
$bookseats = $_POST["bookseats"];
}

print_r($bookseats);

$seatar = implode(',', $bookseats);
echo 'Booked Seats : '.$seatar.'<br>'.'<br>';

当我尝试将这个数组保存在数据库中时,显示了以下错误。 Database insertion error

这是向数据库插入数据的php代码。

$bookings_added = $conn->query($sql);
$last_bid = $conn->insert_id;
for($i = 0; $i < count($bookseats); $i++){
$SQL_project_has_type = "INSERT INTO bookseat (seat, bid)
VALUES({$bookseats[$i]}, ".$last_bid.")";
$bs = $conn->query($SQL_project_has_type);

if($bs === FALSE) exit("mysql error: ".$conn->error);
}

我的阵列有问题吗?请帮忙!

最佳答案

在 HTML 中,我添加了一个隐藏的输入来保存所选座位的值。

在js代码中,添加了一条语句,为添加的隐藏输入设置值。

同样在成功的 ajax 中,表单与使用 jquery 提交触发器的新值一起以 POST 方法提交。

HTML:

<form method="POST" id="bookseatform" action="confirm.php">
<input type="hidden" value="" name="bookseats"/>
<div align="center"><input type="Submit" id="btnsubmit" value="Submit" /></div>
</form>

JS:

 $('#btnsubmit').click(function(ev) {
ev.preventDefault();
var seat = [], item;
$.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) {
item = $(this).attr('title');
seat.push(item);
});
var bookseats = seat;
$('input[name="bookseats"]').val(seat);
$.ajax({
type: 'POST',
url: 'confirm.php',
data: {'bookseats': bookseats}
}).then(function(data) {
//alert(data);
$('#bookseatform').trigger('submit');
},function(err){
alert('error');
});
});

PHP:

if(isset($_POST['bookseats'])){
$bookseats = $_POST["bookseats"];

if(is_array($bookseats)){
print_r($bookseats);
$seatar = implode(',', $bookseats);
}
else {
$seatar = $bookseats;
}
}

echo 'Booked Seats : '.$seatar.'<br>'.'<br>';

关于javascript - 内爆 :Invalid arguments in an array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50166950/

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