Im making an application similar to JSbin / JS fiddle. I want to make an ajax request to the server to update my database when the user clicks on the save code button with the values that the user has typed in the textarea. Could someone help me out. I don't know whats wrong , my database doesn't get updated with the textarea content .I would like to use only pure javascript
MY HTML code
<main>
<form id="myform" method="post">
<div id="bodyContainer">
<div class="Panels" id="HtmlPanel">
<textarea
id="html"
name="html"
placeholder=" ENTER HTML CODE HERE"
></textarea>
</div>
<div class="Panels hidden" id="CssPanel">
<textarea
id="css"
name="css"
placeholder=" ENTER CSS CODE HERE"
></textarea>
</div>
<div class="Panels hidden" id="JsPanel">
<textarea
id="js"
name="js"
placeholder=" ENTER JAVASCRIPT HERE"
></textarea>
</div>
<iframe class="Panels" id="OutputPanel" placeholder="Output"></iframe>
</div>
</form>
</main>
button HTML:<button onclick="SaveCode()" type="submit" id="save-code-btn" name="save-code">
Save Code
</button>
JAVASCRIPT:
function SaveCode(){ const request = new XMLHttpRequest();
const requestData = {
html: document.getElementById("html").value,
css: document.getElementById("css").value,
js: document.getElementById("js").value,
};
request.onreadystatechange = function() {
// Check if the request is compete and was successful
if(this.readyState === 4 && this.status === 200) {
alert("Succesful")
}
};
request.open("post", "SaveCode.php",true);
request.setRequestHeader(
"Content-type",
"application/x-www-form-urlencoded"
);
request.send("html="+requestData.html);
}
PHP CODE(SaveCode.php)
<?PHP
session_start();
include('DBconnection.php');
if($_SERVER['REQUEST_METHOD']=='POST'){
$html = mysqli_real_escape_string($_POST['html']);
$query= 'UPDATE users details SET html="'.$html.'"WHERE
id="'.$_SESSION['id'].'"';
$result= mysqli_query($connection, $query);
if($result){
echo "Success";
}else{
echo "Fail";
}
}
?>
session_start();at the top