New to PHP. My ajax is successful, but I can't figure out why NULL is being posted in every column of my MySQL database. My database has 4 columns (name, cap, assigned_seating, open_seating). It is a simple form
//Model
class My_model extends CI_Model
{
function __construct()
{
parent::__construct();
}
public function insert_data()
{
$data['name'] = $_POST['tableName'];
$data['cap'] = $_POST['tableCap'];
$data['assigned_seating'] = $_POST['assigned_seating'];
$data['open_seating'] = $_POST['open_seating'];
$this->db->insert('tables', $data);
}
}
//Controller
class Tables extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('My_model');
}
public function add()
{
$this->load->model('My_model');
$this->My_model->insert_data();
}
}
//Ajax
$(".createTableButton").click(function(e) {
e.preventDefault();
var dataToSend = $('#myForm').serialize();
$.ajax({
url: "http://localhost/tableseating/tables/add",
data: dataToSend,
dataType: 'jsonp',
method: 'POST',
success: function()
{
console.log("Success");
},
error: function()
{
console.log("Error");
}
});
//HTML
<form method="post" id="createTableForm" action="">
Table Name<input type="text" id="tableName" name="tableName" /><br>
Seat Cap<br><select type="select" id="tableCap" name="tableCap">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
</select><br>
Table Type<br>
<input type="radio" id="openSeating" name="open_seating" checked="checked" required /> Open Seating<br>
<input type="radio" id="assignedSeating" name="assigned_seating" required /> Assigned Seating<br><br>
<input type='submit' class='createTableButton btn btn-primary' value="Create"/>
</form>