Php将$ .post的数据发布到另一个文件

时间:2016-03-22 12:26:42

标签: jquery sql post

问题是我在script.js中编写了这个脚本:

$('[name="submitBtn"]').click(function(){
  var nickname= $('[name="username"]').val();
  $.post("functions.php", 
  {
   name: nickname
  },
function(response,status){
  alert("*----Received Data----*\n\nResponse : " + response+"\n\nStatus : " +status);
 })
 })

这是关于functions.php:

if(isset($_POST["name"]))
{
  $name = $_POST["name"];
  mysql_query("INSERT INTO `user`(`user_id`, `username` ) VALUES ('', '$name')");
  echo "Welcome ". $name ."!";
}

问题是我得到了正确的警报,看起来很好。所以,如果我理解正确,php变量$ name获取值。但它不会将sql查询插入数据库。另外我在functions.php"上得到错误"未定义的索引名称;我也不明白。尝试了很多方法但是所有的时间" name"是未定义的索引:S

LF帮助。

问候。

编辑:

发生了神秘的事情。

<?php
$test="welcome";
// mysql_query("INSERT INTO `user`(`user_id`, `username` ) VALUES ('', '$test')"); 
if(isset($_POST["name"])){ 
   $name = $_POST["name"];
   $test="Welcome ". $name ."!";
   echo $test;
   mysql_query("INSERT INTO `user`(`user_id`, `username` ) VALUES ('', '$test')"); 
}
?>

如果我取消注释第二行,它会插入&#34; welcome&#34;到我在DB的桌子, 但条件中的查询从未起作用。另外echo $ test也可以。

1 个答案:

答案 0 :(得分:0)

您需要将PHP变量粘贴到de string中,如下所示:

VALUES(&#39;&#39;,&#39;&#34;。$ name。&#34;&#39;)&#34;);

否则,您的查询将包含变量名称,而不是它应具有的PHP值。