Hello,
I am trying to insert form data into the db using AJAX
Form execution gives no error messages, yet no data is inserted into the DB
Here is the code for the form and the AJAX :
<body>
<!-- menu for account pages-->
<?php include_once 'account_pages.php'; ?>
<h1>Insert Your Trades To The DataBase For Deep Analysis</h1>
<!-- form for inserting trade data -->
<form id="post_form" method="post" action="process_form_data.php">
<table>
<tr>
<td class="name">Ticket</td>
<td class="name">Open time</td>
<td class="name">Type</td>
<td class="name">Size</td>
<td class="name">Item</td>
</tr>
<tr>
<td><input id="ticket" type="text" placeholder="Ticket"></td>
<td><input id="o_time" type="text" placeholder="yyyy.mm.dd hh:mm:ss" name="start_time">
</td>
<td><select id="type" name="type">
<option value="Deposit">Deposit</option>
<option value="Buy Limit">Buy Limit</option>
<option value="Sell Limit">Sell Limit</option>
<option value="Buy Stop">Buy Stop</option>
<option value="Sell Stop">Sell Stop</option>
<option value="Buy">Buy</option>
<option value="Sell">Sell</option>
</select>
</td>
<td><input id="size" type="text" placeholder="size"></td>
<td><input id="item" type="text" placeholder="Item"></td>
</tr>
<tr>
<td colspan="5">.<td>
</tr>
<tr>
<td class="name">Open Price</td>
<td class="name">Stop Loss</td>
<td class="name">Take Profit</td>
<td class="name">Close time</td>
<td class="name">Close Price</td>
</tr>
<tr>
<td><input id="o_price" type="text" placeholder="Open Price"></td>
<td><input id="stop_loss" type="text" placeholder="Stop Loss"></td>
<td><input id="take_profit" type="text" placeholder="Take Profit"></td>
<td>
<input id="c_time" type="text" placeholder="yyyy.mm.dd hh:mm:ss" name="start_date">
</td>
<td><input id="c_price" type="text" placeholder="Close Price"></td>
</tr>
<tr>
<td colspan="5">.<td>
</tr>
<tr>
<td class="name">Commission</td>
<td class="name">Taxes</td>
<td class="name">Swap</td>
<td class="name">Profit</td>
<td rowspan="2">
<button id="insert_data" type = "submit" value="submit">Click<br>to Insert<br>To DB</button>
</td>
</tr>
<tr>
<td><input id="comission" type="text" placeholder="Comission"></td>
<td><input id="taxes" type="text" placeholder="Taxes"></td>
<td><input id="swap" type="text" placeholder="Swap"></td>
<td><input id="profit" type="text" placeholder="Profit"></td>
</tr>
</table>
</form>
<button id="button" type = "submit" value="submit">I'm Done! Show Me My Results</button>
<script>
// Code for inserting form data with AJAX
document.getElementById('post_form').addEventListener('submit', postData);
function postData(e){
//Stop form from performing its submit
e.preventDefault();
// Get all form data
var ticket = document.getElementById('ticket').value;
if (ticket === "")
{
alert("Ticket number must be filled.");
return false;
}
var open_time = document.getElementById('o_time').value;
if (o_time === "")
{
alert("Open_time number must be filled.");
return false;
}
var type = document.getElementById('type').value;
if (type === "")
{
alert("type must be filled.");
return false;
}
var size = document.getElementById('size').value;
if (size === "")
{
alert("size must be filled.");
return false;
}
var item = document.getElementById('item').value;
if (item === "")
{
alert("item must be filled.");
return false;
}
var O_price = document.getElementById('o_price').value;
if (o_price === "")
{
alert("Open_price must be filled.");
return false;
}
var stop_loss = document.getElementById('stop_loss').value;
var take_profit = document.getElementById('take_profit').value;
var c_price = document.getElementById('c_price').value;
if (c_price === "")
{
alert("Close_price must be filled.");
return false;
}
var c_price = document.getElementById('c_price').value;
if (c_price === "")
{
alert("Close_pric must be filled.");
return false;
}
var comission = document.getElementById('comission').value;
var taxes = document.getElementById('taxes').value;
var swap = document.getElementById('swap').value;
var profit = document.getElementById('profit').value;
if (profit === "")
{
alert("Ticket number must be filled.");
return false;
}
var params ='ticket'+ticket+'&o_time'+o_time+'&type'+type+'&size'+size+'&item'+item+'&o_price'+o_price+
'&stop_loss'+stop_loss+'&take_profit'+take_profit+'&c_price'+c_price+'&comission'+comission+
'&taxes'+taxes+'&swap'+swap+'&profit'+profit;
//var params = {ticket: ticket, open_time: open_time}
var xhr = new XMLHttpRequest();
xhr.open('POST', 'process_form_data.php', true);
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
xhr.send(params);
} //End function postData
</script>
</body>
</html>
And Here is the code in process_form.php
<?php
session_start();
require "includes/db_connect.inc.php";
if(isset($_SESSION['username'])){
$username = $_SESSION['username'];
}
if(!empty($_POST['ticket'])){
$ticket = $_POST['ticket'];
}
if(!empty($_POST['o_time'])){
$o_time = $_POST['o_time'];
}
if(!empty($_POST['type'])){
$type = $_POST['type'];
}
if(!empty($_POST['size'])){
$size = $_POST['size'];
}
if(!empty($_POST['item'])){
$item = $_POST['item'];
}
if(!empty($_POST['op_price'])){
$o_price = $_POST['open_price'];
}
if(!empty($_POST['stop_loss'])){
$stop_loss = $_POST['stop_loss'];
}else{
$stop_loss = 0;
}
if(!empty($_POST['take_profit'])){
$take_profit = $_POST['take_profit'];
}else{
$take_profit = 0;
}
if(!empty($_POST['c_time'])){
$c_time = $_POST['c_time'];
}
if(!empty($_POST['cc_price'])){
$c_price = $_POST['cc_price'];
}
if(!empty($_POST['comission'])){
$commission = $_POST['commission'];
}else{
$commission = 0;
}
if(!empty($_POST['taxes'])){
$taxes = $_POST['taxes'];
}else{
$taxes = 0;
}
if(!empty($_POST['swap'])){
$swap = $_POST['swap'];
}else{
$swap = 0;
}
if(!empty($_POST['profit'])){
$profit = $_POST['profit'];
}
function add_row(){
global $db;
try
{
$sql = "INSERT INTO `data`
(username, ticket, o_time, type, size, item, o_price, s_l, t_p, c_time, c_price, profit)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt=$db->prepare($sql);
$stmt->bindParam(':username', $username, PDO::PARAM_STR);
$stmt->bindParam(':ticket', $ticket, PDO::PARAM_STR);
$stmt->bindParam(':o_time', $o_time, PDO::PARAM_STR);
$stmt->bindParam(':type', $type, PDO::PARAM_STR);
$stmt->bindParam(':size', $size, PDO::PARAM_STR);
$stmt->bindParam(':item', $item, PDO::PARAM_STR);
$stmt->bindParam(':o_price', $o_price, PDO::PARAM_STR);
$stmt->bindParam(':s_l', $s_l, PDO::PARAM_STR);
$stmt->bindParam(':t_p', $t_p, PDO::PARAM_STR);
$stmt->bindParam(':c_time', $c_time, PDO::PARAM_STR);
$stmt->bindParam(':c_price', $c_price, PDO::PARAM_STR);
$stmt->bindParam(':profit', $profit, PDO::PARAM_STR);
$stmt->execute();
} // End try
catch(Exception $e)
{
return false;
}
}//End function
$result = add_row();
if($result == false)
{
$_SESSION['test'] = false;
echo $_SESSION['test'];
}
else
{
$_SESSION['test'] = success;
echo $_SESSION['test'];
}
?>
Here is the header in chrome dev tool
What do I miss here ?