请教各位大虾:我要制作的网页里有一个按钮,点击这个按钮要实现以下几个功能: 先判断页面上给出的姓名是否已经存在于SQL数据库中了。如果存在,就给个提示框,然后跳出。如果不存在,要将页面上的内容(如姓名、性别、Email、电话等)存入SQL数据库,再提示已经写入数据库,然后跳转到另一个页面。 我定义的按钮如下(a.php文件): 然后打算在a.js文件的function data_send()里实现按钮的功能,目前给出提示框和跳转网页我知道怎么实现,可是如何判断是否应该写入数据库,以及如何在js里写入数据库,我就不得而知了。 我是初来乍到的菜鸟,还望各位前辈多多指教,先谢谢大家帮忙啦~!
回复讨论(解决方案) ajax检测和入库,然后再跳转
路过
利用ajax请求php,由php来检查姓名是否存在。
ajax检测和入库,然后再跳转 谢谢回复。 能说得详细点儿么?最好能有个例子。谢谢~!
能说得详细点儿么?最好能有个例子。谢谢~! 例子。。。。ajax网上的例子很多,随便 google哈一大堆, 原理就是 input框失去焦点后ajax提交,然后php处理返回json之类的,然后js在操作显示提示
我最近也在研究,分享下: 文件1、(conn.php) 代码如下: $conn = mysql_connect('localhost','数据库用户名','数据库密码'); mysql_select_db('数据库名',$conn); ?> 文件2、(a.html)代码如下:
<script> <br /> var xmlHttp <br /> <br /> function check(str){ <br /> <br /> xmlHttp=GetXmlHttpObject() <br /> if (xmlHttp==null) <br /> { <br /> alert ("Browser does not support HTTP Request") <br /> return <br /> } <br /> var url="a.php" <br /> url=url+"?n="+str <br /> url=url+"&sid="+Math.random() <br /> xmlHttp.onreadystatechange=stateChanged <br /> xmlHttp.open("GET",url,true) <br /> xmlHttp.send(null) <br /> } <br /> <br /> function stateChanged() <br /> { <br /> if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") <br /> { <br /> document.getElementById("name").innerHTML=xmlHttp.responseText <br /> } <br /> } <br /> <br /> <br /> function GetXmlHttpObject() <br /> { <br /> var xmlHttp=null; <br /> <br /> try <br /> { <br /> // Firefox, Opera 8.0+, Safari <br /> xmlHttp=new XMLHttpRequest(); <br /> } <br /> catch (e) <br /> { <br /> // Internet Explorer <br /> try <br /> { <br /> xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); <br /> } <br /> catch (e) <br /> { <br /> xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); <br /> } <br /> } <br /> return xmlHttp; <br /> } <br /> </script>
文件3、(a.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 "此用户名已被注册请输入新的用户名!";
}else{
echo "可以使用";
}
?>
文件4、(b.php)代码如下:
include "conn.php";
if(isset($_POST['sub'])){
$sql = "insert into user(name) value ($_POST['name'])";
$result = mysql_query($sql);
if($result){
echo "成功!";
}
}
?>
不知道楼主用过jquery没有,如果用过或者想用的话我可以给详细方案。
function check(){var name=$("#name").val();$.post("checkUser.php",{name:name},function(result){ if(result==1){ alert('已经存在用户名'); return false; }});} Copy after login
checkUser.php
$sql="select * from user where name=".$_POST['name'];$resut=mysql_query($sql);if($result){ echo 1;exit;} Copy after login
得用jquery post和php很好解决这个,现在很多注册页面都是这样做!
感谢LS各位大虾的帮助,问题解决了。我用的是Ajax。