日期:2014-05-17  浏览次数:20411 次

请教:PHP js 实现复杂的按钮功能
请教各位大虾:我要制作的网页里有一个按钮,点击这个按钮要实现以下几个功能:

先判断页面上给出的姓名是否已经存在于SQL数据库中了。如果存在,就给个提示框,然后跳出。如果不存在,要将页面上的内容(如姓名、性别、Email、电话等)存入SQL数据库,再提示已经写入数据库,然后跳转到另一个页面。

我定义的按钮如下(a.php文件):

<input name="data_send" id="data_send" type="button" value="Data send" onclick="data_send();" />

然后打算在a.js文件的function data_send()里实现按钮的功能,目前给出提示框和跳转网页我知道怎么实现,可是如何判断是否应该写入数据库,以及如何在js里写入数据库,我就不得而知了。

我是初来乍到的菜鸟,还望各位前辈多多指教,先谢谢大家帮忙啦~!

------解决方案--------------------
ajax检测和入库,然后再跳转
------解决方案--------------------
利用ajax请求php,由php来检查姓名是否存在。
------解决方案--------------------
我最近也在研究,分享下:
文件1、(conn.php) 代码如下:
<?php
$conn = mysql_connect('localhost','数据库用户名','数据库密码');
mysql_select_db('数据库名',$conn);
?>

文件2、(a.html)代码如下:
<form action="b.php" method="post" >
<table>
      <tr>
           <td>用户名:</td>
           <td><input type="text" name="name" onblur="check(this.value)"></td>
           <td id="name">&nbsp;</td>
      </tr>
      <tr>
           <td colspan="3"><input type="submit" value="提交" name="sub"></td>
      </tr>
</table>
</form>
<script>
var xmlHttp

function check(str){

xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="a.php"
url=url+"?n="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)


function stateChanged() 

if (xmlHttp.readyState==4 
------解决方案--------------------
 xmlHttp.readyState=="complete")
 { 
 document.getElementById("name").innerHTML=xmlHttp.responseText 
 } 
}


function GetXmlHttpObject()
{
var xmlHttp=null;

try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 // Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
</script>

文件3、(a.php) 代码如下:

<?php
include "conn.php";
$sql = 'select * from user';//user为你的数据库名,自己修改
$res = mysql_query($sql);
while($row=mysql_fetch_assoc($res)){
$u_name[]= $row['name'];//$row['name']里面的name为你数据库字段名

}
$name = $_GET['n'];
if(in_array($name,$u_name)){
echo "此用户名已被注册请输入新的用户名!</font>";
}else{
echo "可以使用";