2010-01-26 37 views
0

现在,我有一个功能的Mac,我需要实现这个功能,以节省一个cookie内,并将它存储在MySQL ..javascript函数保存的cookies

所以,我怎么能有这个功能一起?

 <script language="JavaScript"> 

     function getMacAddress(){ 
      document.macaddressapplet.setSep("-"); 
      return (document.macaddressapplet.getMacAddress()); 
     } 

     function setCookie(c_name,value,expiredays) 
     { 
     var exdate=new Date(); 
     exdate.setDate(exdate.getDate()+expiredays); 
     document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()); 
     } 

     setCookie('cookie_name','getMacAddress()','1'); 
     </script> 
     <body> 

     <?php 
     //Defaults to 1 
     $javascript_cookie = isset($_COOKIE["cookie_name"]) ? $_COOKIE["cookie_name"] : 1; 
     echo "$javascript_cookie"; 

     // db insert query 
     $dbhost = 'localhost'; 
     $dbuser = 'root'; 
     $dbname = 'registration'; 
     mysql_connect($dbhost, $dbuser) or die("Could not connect database"); 
     mysql_select_db($dbname); 
     $sql_query = mysql_query("SELECT * from user WHERE UserID ='".$_POST['newUserID']."'"); 
     $sql = "INSERT INTO test(mac) VALUES ('".$javascript_cookie."')"; 
     mysql_query($sql); 
     ?> 
+0

我不记得了更不好的措辞问题。 – Pointy

+0

告诉我们它需要存储为cookie。它是getMacAddress函数的返回值吗?它是自己的函数定义吗? 也许你可以在代码中添加一些关于需要完成什么的注释。 – BobS

+0

我需要macs.getMacAddress存储到cookie的,这样我可以把它显示在网页上,并把它保存到MySQL – kennedy

回答

0

使用JavaScript库像DojoJQuery。他们具有良好的简化界面,可以实现这种常见功能,并且可以隐藏大部分混乱的跨浏览器兼容性问题。

+0

我有一个函数, http://stackoverflow.com/questions/2115690/javascript-calling-function 但它不工作,能你好吗? – kennedy

0

那么,对于JavaScript的/ setCookie方法的一部分,如果你更换 'Text3123234' 与getMacAddress(),它应该让你开始。因此,该行应该是这样的:

setCookie('cookie_name', getMacAddress(), 1); 
+0

再次编辑一职,这是输出原来什么香港专业教育学院现在..但要成为“1”的值,而不是MAC地址... – kennedy

+0

你需要从setCookie方法调用调用getMacAddress删除引号。否则cookie的值将是字符串'getCookie()'。 请后你会得到什么,如果你把下面的调用setCookie方法调用之前: 警报(“MAC地址为” + getMacAddress()); – BobS

2

这里有两个功能我用它来处理Cookie:

function writeCookie(name,value,days) { 
    var date, expires; 
    if (days) { 
     date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     expires = "; expires="+date.toGMTString();} 
    else{ 
     expires = ""; 
    } 
    document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
    var i, c, ca, nameEQ = name + "="; 
    ca = document.cookie.split(';'); 
    for(i=0;i < ca.length;i++) { 
     c = ca[i]; 
     while (c.charAt(0)==' ') { 
      c = c.substring(1,c.length); 
     } 
     if (c.indexOf(nameEQ) == 0) { 
      return c.substring(nameEQ.length,c.length); 
     } 
    } 
    return ''; 
} 
  • 是要存储
  • 资料的名称其值
  • is to s等和到期日期或不是,如果空