Rumah >pembangunan bahagian belakang >tutorial php >请教:PHP js 实现复杂的按钮功能

请教:PHP js 实现复杂的按钮功能

WBOY
WBOYasal
2016-06-23 14:03:19795semak imbas

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

先判断页面上给出的姓名是否已经存在于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;    }});}


checkUser.php
$sql="select * from user where name=".$_POST['name'];$resut=mysql_query($sql);if($result){  echo 1;exit;}

得用jquery post和php很好解决这个,现在很多注册页面都是这样做!

感谢LS各位大虾的帮助,问题解决了。我用的是Ajax。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn