0

So, I'm working on figuring out how to post data from Jquery to PHP, And as much as I follow the examples I've found on the threads here, I keep getting an "Undefined Index Name" error.

My code thus far for the JQuery side is

<script src="jquery-1.11.1.min.js"></script>
</script>
<script>
$(document).ready(function(){
     $("#div2").text('Hey');
    $("#div1").load('testFile.txt');
    setInterval(function() {
    $.ajax({ url: 'script.php' });
    $("#div1").load('testFile.txt');}
    ,100);



  });
  function sub(){

     var msg = $("#name").val();

     $.post('chat.php',{'name':"1234"},function(){
$("#div2").load('chat.php');
});  
 };

</script>

The html forms and buttons I'm using

<div id="div1"></div>
<div id="div2">Um</div>

<form name="myForm" id="myForm" action="" method="POST">
<input type="text" name="name" id="name" size="30" value=""/>
</form>
<button id="submission" onclick="javascript:sub();">Errrr</button>

And the PHP side I'm going to

<?php
echo $_POST['name'];
 $myFile = "testFile.txt";
 $fh = fopen ($myFile, 'a+') or die("Cannot Open File");
 fwrite ($fh, $_POST['name']);
 fclose($fh);

?>

I'm about at a loss from where to do. All files are within the same folder and filenames are correct as far as I can find.

Draketh
  • 11
  • 3

1 Answers1

1

Your issue is most likely that you're doing this:

$.post('chat.php',{'name':"1234"},function(){
    $("#div2").load('chat.php');
});  

You're effectively sending the data {'name': '1234'} to the file and then just loading the file? You'll get the error because you load() the file without sending it params.

Looking at the jQuery.post manual, you'd see that you can get a response with something like this:

$.post('chat.php',{'name':"1234"},function(data){
    console.log(data);
}); 

While you use something like echo or print to effectively "return" content to the ajax call.

<?php
echo $_POST['name'];
?>

Now check in your console and see if there is a response.

Darren
  • 13,050
  • 4
  • 41
  • 79
  • I'm getting the value returned in the console, but am getting no signs that the PHP script is properly running. – Draketh Jul 09 '14 at 01:03
  • 1
    If you're getting the value you send with `{'name': name}` then the script should be running correctly... – Darren Jul 09 '14 at 01:05
  • @Draketh how is this going for you..? – Darren Jul 09 '14 at 04:58
  • Thanks to your help I was able to solve it, and feel a bit stupid for it, I had two conflicting scripts running, which was my main problem. Thank you so much for your help! – Draketh Jul 09 '14 at 15:46
  • @Draketh Did this answer your question at all? – Darren Jul 11 '14 at 01:06