I am using XMLHttpRequest like this: I created one variable uname for storing username and one variable msg for storing messages.
<script>
function submitChat() {
if(form1.uname.value == '' || form1.msg.value == ''){
alert('ALL FIELDS ARE MANDATORY');
return;
}
var uname = form1.uname.value;
var msg = form1.msg.value;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
document.getElementById('chatlogs').innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open('GET', 'insert.php?uname='+uname+'&msg='+msg, true);
xmlhttp.send();
}
</script>
My form looks like this
<form name="form1">
Enter your chat name: <input type="text" name="uname" /> <br />
Your message: <br />
<textarea name="msg"></textarea> <br />
<a href="#" onclick="submitChat()"> Send </a><br/><br/>
<div id="chatlogs">
LOADING CHAT LOGS PLEASE WAIT...
</div>
what I am doing is that, when I am feeding data to the boxes(input and textarea) and then clicking the link(Send), then the chat logs should be displayed in the div section with id chatlogs, but its not happening, I created database like this:
<?php
$uname = $_REQUEST['uname'];
$msg = $_REQUEST['msg'];
$con = mysqli_connect('localhost', 'root', '');
mysqli_select_db($con, 'chatbox');
mysqli_query($con, "INSERT INTO logs ('username', 'msg') VALUES ('$uname', '$msg')");
$result1 = mysqli_query($con, "SELECT * FROM logs ORDER by id DESC");
while ($extract = mysqli_fetch_array($result1)){
echo "<span class='uname'>" . $extract['username'] . "</span>: <span class='msg'>".$extract ['msg'] ." </span><br />";
}
?>
and logs look like this
<?php
$con = mysqli_connect('localhost', 'root', '');
mysqli_select_db('chatbox', $con);
$result1 = mysqli_query("SELECT * FROM logs ORDER by id DESC");
while($extract = mysqli_fetch_array($result1)){
echo "<span class='uname'>" . $extract['username'] . "</span>: <span class='msg'>" . $extract['msg'] . "</span><br />";
}
?>
Right now when I am filling the input and text area and then clicking the send link, nothing is happening. Neither the data is stored in database nor it is being displayed in the div section. Thanks for your help in advance.