2010-01-25 73 views
0

显然我尝试将数据保存到mysql中,但它没有工作..任何人都可以帮忙吗?php从javascript抓取数据

create_users.php

<form method="post" action="checkAvailability.php"> 
<script> 
    var macs = { 
    getMacAddress : function() 
    { 
     document.macaddressapplet.setSep("-"); 
     return (document.macaddressapplet.getMacAddress()); 
    }}jQuery(document).ready(function(){ 
     var mac = macs.getMacAddress(); 
     $.get('/checkAvailability.php?mac=' + mac, function() { alert('yeah done'); }) 
    }); 
</script> 



<script type="text/javascript"> 
    document.write(macs.getMacAddress()); 
</script> 
    </form> 

checkAvailability.php

$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbname = 'registration'; 
mysql_connect($dbhost, $dbuser) or die("Could not connect database"); 
mysql_select_db($dbname); 
$mac = $_GET['mac']; 
$mac = mysql_real_escape_string($mac); 
$sql = "INSERT INTO test(mac) VALUES ('$mac')"; 
mysql_query($sql); 
+1

请详细说明你的意思是“没有工作”。什么是'macs'?它不是一个标准对象,也没有在代码中的任何地方定义。 – 2010-01-25 05:26:09

+0

添加一些echo来查看发生了什么,并直接从浏览器调用脚本。你的问题可能在mac var为空的任何地方,而不是你的mysql连接到数据库。 – Erik 2010-01-25 05:27:31

+0

嗯..好吧,我再次编辑我的帖子..请帮助.. – kennedy 2010-01-25 05:36:01

回答

4

要调用在$获得( “create_users.php”)方法,而不是你应该叫 “checkAvailability.php” ..

并尝试此为您的客户端形式:

var macs = { 
getMacAddress : function() 
{ 
    document.macaddressapplet.setSep("-"); 
    return (document.macaddressapplet.getMacAddress()); 
}}jQuery(document).ready(function(){ 
    var mac = macs.getMacAddress(); 
    $.get('/checkAvailability.php?mac=' + mac, function() { alert('yeah done'); }) 
}); 
+0

哇,我完全错过了= x – Erik 2010-01-25 05:28:53

+0

尝试..它没有工作..它没有保存到数据库。 – kennedy 2010-01-25 05:34:08

+1

在'mysql_query()'之后抛出一个快速且脏的回声'mysql_error()'。另外,你有没有连接到你的数据库? – alex 2010-01-25 05:38:23