请教:PHP js 实现复杂的按钮功能
程序员文章站
2022-05-12 18:09:44
...
请教各位大虾:我要制作的网页里有一个按钮,点击这个按钮要实现以下几个功能:
先判断页面上给出的姓名是否已经存在于SQL数据库中了。如果存在,就给个提示框,然后跳出。如果不存在,要将页面上的内容(如姓名、性别、Email、电话等)存入SQL数据库,再提示已经写入数据库,然后跳转到另一个页面。
我定义的按钮如下(a.php文件):
然后打算在a.js文件的function data_send()里实现按钮的功能,目前给出提示框和跳转网页我知道怎么实现,可是如何判断是否应该写入数据库,以及如何在js里写入数据库,我就不得而知了。
我是初来乍到的菜鸟,还望各位前辈多多指教,先谢谢大家帮忙啦~!
文件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 "成功!";
}
}
?>
checkUser.php
先判断页面上给出的姓名是否已经存在于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)代码如下:
文件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。