Php 如何从ajax在codeigniter中插入会话多数组
表单输入Php 如何从ajax在codeigniter中插入会话多数组,php,ajax,codeigniter,Php,Ajax,Codeigniter,表单输入 <form id='form'> <input type="text" name="nama" value=""> <input type="text" name="email" value=""> <input type="button" id='button' name="button" value="kirim"> </form> <div id='hasil'></d
<form id='form'>
<input type="text" name="nama" value="">
<input type="text" name="email" value="">
<input type="button" id='button' name="button" value="kirim">
</form>
<div id='hasil'></div>
$(document).on('click', '#button', function(event) {
event.preventDefault();
var data = $('#form').serializeArray();
$.ajax({
data : {data : data},
url:'data/test_ajax',
method:'post',
success:function (data_ajax){
console.log(data_ajax);
}
});
});
发送到数据/测试\u ajax
public function test_ajax(){
$data = $this->input->post('data');
$get_session = $this->session->userdata('data');
for ($i=0; $i < 1000; $i++) {
if ($get_session[$i]=="") {
$dat['data'][$i]['nama'] = $data[0]['value'];
$dat['data'][$i]['email'] = $data[1]['value'];
$set_session = $this->session->set_userdata($dat);
break;
}
}
$get_session = $this->session->userdata('data');
print_r($get_session);
}
public function test\u ajax(){
$data=$this->input->post('data');
$get_session=$this->session->userdata('data');
对于($i=0;$i<1000;$i++){
if($get_session[$i]==“”){
$dat['data'][$i]['nama']=$data[0]['value'];
$dat['data'][$i]['email']=$data[1]['value'];
$set\u session=$this->session->set\u userdata($dat);
打破
}
}
$get_session=$this->session->userdata('data');
打印(获取会话);
}
如何使用codeigniter
从ajax
每次添加数据插入会话,
结果如下:
[0]=>阵列
(
[nama]=>测试
[电子邮件]=>测试
)
[1] =>阵列
(
[nama]=>testtt
[电子邮件]=>testttt
)
[2] =>阵列
(
[nama]=>aaa
[电子邮件]=>aaaaa
)
[3] =>阵列
(
[nama]=>aa
[电子邮件]=>SDFAAAAASDSFSF
)
我不知道codeinteger是如何获取/设置用户数据的,但是试试这个
$get_session = $this->session->userdata('data');
$get_session[] = Array('nama'=>$data[0]['value'], 'email' => $data[1]['value']);
$set_session = $this->session->set_userdata('data',$get_session);
将数据传递给脚本的最安全的方法是
var datastring = $("#form").serialize();
$.ajax({
type: "POST",
url: "your url.php",
data: datastring,
success: function(data) {
alert('Data send');
}
});
检查实际会话数据,但用新值覆盖它。为什么要在新行数组中覆盖新值@BATO3您可能想删除按钮上的name属性,因为我认为您不想/不需要
$\u POST['button]='kirim'
@maxing认为这似乎是正确的答案。如果您满意,请将其授予绿色勾号,以便将您的问题从未回答问题列表中删除。如果这个答案不完全符合您的需要,请为bato3留下评论。