Heim >Backend-Entwicklung >PHP-Tutorial >请教:PHP js 实现复杂的按钮功能

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

WBOY
WBOYOriginal
2016-06-23 14:03:19795Durchsuche

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn