php+ajax..转
php+ajax 登录注册页面
主要是登录注册功能,前端后台验证没有什么,这个大家可以自己加上去,比如过滤啊,正则啊等
还是先放图吧
这是登录及注册界面 点击注册切换到注册界面,点击登录切换到登录界面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
body,html{
padding: 0px;
margin: 0px;
}
.header {
width: 100%;
padding: 0px;
margin: 0px;
background-color: #699C03;
} .header-nav {
min-width: 1170px; height: 50px;
line-height: 50px;
} .header-nav-left {
float: left;
padding-left: 150px;
margin-top: 10px;
} .header-nav-left h3 {
font-size: 18px;
line-height: 25px;
margin: 0px;
color: #fff;
} .header-nav-right {
float: right;
width: 59.9999%;
position: relative;
height: 50px;
} .header-nav-right ul {
padding: 0px;
margin: 0px;
list-style: none;
position: absolute;
right: 25px;
} .header-nav-right ul li {
float: left;
margin-left: 5px;
color: #fff;
} .header-nav-right ul li a {
color: #fff;
text-decoration: none; }
.user{
min-width:980px;
text-align: center;
margin: 0px;
padding: 0px;
position: relative;
}
.user-list{
width:470px;
height: 250px;
padding: 15px;
margin: 20px auto;
position: relative;
border: 1px solid #DBDBDB;
}
.user-list ul{
list-style: none;
width: 100%;
overflow: hidden;
height: 250px;
position: relative;
padding: 10px 0px;
margin: 0px;
}
.user-list ul li{
width: 100%;
list-style: none;
margin-bottom:15px;
}
.user-list ul li i{
color: red;
}
.user-list ul li label{
display: inline-block;
width:12%;
text-align: right;
font-size:16px;
margin-right: 10px;
font-family: "微软雅黑"; }
.user-list ul li input{
display: inline-block;
border: 1px solid #DBDBDB;
border-radius:4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
-ms-border-radius:4px;
height: 30px;
padding: 2px 5px;
vertical-align:middle;
}
.buttons{
width: 100%;
height:35px;
padding: 5px 10px;
position: absolute;
bottom: 40px;
left: 0px;
right: 0px;
}
.openbutton,.onbutton{
display: inline-block;
width: 40%;
}
.buttons button{
width: 90%;
color: #fff;
padding: 5px 10px;
background-color: #4CB0F9;
border: 1px solid #4CB0F9;
border-radius: 4px;
vertical-align: middle;
height: 35px;
line-height: 25px;
cursor:pointer;
}
#form2{
display: none;
}
</style>
</head>
<body>
<div class="header">
<div class="header-nav">
<div class="header-nav-left">
<h3>网站后台管理</h3>
</div>
<div class="header-nav-right">
<ul>
<li><span>欢迎到来到网站后台</span></li>
<li><a href="" onclick="window.location.reload()">主菜单</a></li>
<li><a href="">网站首页</a></li> <li><a href="Index.html">后台主页</a></li>
<li><a href="">内容管理</a></li>
<li><a href="">退出</a></li>
</ul>
</div>
</div>
</div>
<div class="user">
<div class="user-list">
<form id="form1" action="" method="post">
<ul>
<li><label>用户名</label><input type="text" name="username" id="username" placeholder="手机号码或邮箱"/></li>
<li><label>密码</label><input type="password" name="pass" id="pass" placeholder="6-15位密码" /></li>
<div class="buttons">
<a class="onbutton"><button type="submit" id="onsubmit">登录</button></a>
<a class="openbutton"><button type="submit" id="getform2">注册</button></a>
</div>
</ul>
</form>
<form id="form2" action="" method="post">
<ul>
<li><label>用户名</label><input type="text" name="username" id="getusername" placeholder="手机号码或邮箱"/><i>*</i></li>
<li><label>密码</label><input type="password" name="pass" id="getpass" placeholder="6-15位密码" /><i>*</i></li>
<div class="buttons">
<a class="getbutton"><button type="submit" id="getsubmit">提交注册信息</button></a>
<p>已有账号立即<a href="#" id="getform1">登录</a></p>
</div>
</ul>
</form>
</div>
</div>
<script type="text/javascript">
$(function(){
$(".onbutton #onsubmit").on('click',function(){
var $username = $("#username").val(),
$pass = $("#pass").val();
if($username=='' || $pass==''){
alert("用户名及密码不能为空");
return false;
}else{
var datas={
username:$username,
pass:$pass
};
$.ajax({
url:'user.php',
type:'post',
dataType:'json',
data:datas,
success:function(result){
if(result=='nameerror'){
alert('用户名不存在');
}else if(result=="passerror"){
alert("密码错误");
}else{
window.location.href = 'http://www.sogou.com';//登录成功跳转
}
},
error:function(){
alert('false');
}
})
}return false;
})
$("#getsubmit").click(function(){
var $username = $("#getusername").val(),
$pass = $("#getpass").val();
if($username=='' || $pass==''){
alert("用户名及密码不能为空");
return false;
}else{
var datas={
username:$username,
pass:$pass
}
$.ajax({
url:'adduser.php',
type:'post',
data:datas,
dataType:'json',
success:function(reslut){
if(reslut=="repeat"){
alert("该用户名已存在");
}else if(reslut=='success'){
alert("注册成功");
//注册成功后立即切换至登录表单,并记住用户名及密码;
$("#form2").hide();
$("#form1").show();
$("#username").val($username);
$("#pass").val($pass);
}
else{
alert('false');
}
}
})
}return false;
})
})
</script>
<script type="text/javascript">
document.getElementById('getform2').onclick = function(){
document.getElementById('form1').style.display= 'none';
document.getElementById('form2').style.display= 'block';
return false;
}
document.getElementById('getform1').onclick = function(){
document.getElementById('form2').style.display= 'none';
document.getElementById('form1').style.display= 'block';
return false;
} </script>
</body>
</html>
以上是前端代码
下面贴后台代码 ,登录
<?php
@header("content-type:text/html;charset=utf8");
$conne = mysql_connect("localhost","root","root")or die("数据库用户名密码错误".@mysql_error());
$select =mysql_select_db("test",$conne);
$utf = mysql_query("set names utf8");
$username=$_REQUEST['username'];
$pass = $_REQUEST['pass'];
$arrays = array(array('one'=>'nameerror','two'=>'passerror'));
$sqlname = mysql_query("select count(*) from user where username= '$username'");
$row = mysql_fetch_row($sqlname);
$num = $row[0];
//查看用户是否存在
if(!$num){
echo json_encode($arrays[0]['one']);//不存在返回nameerror
}else{
$sqlpass = mysql_query("select pass from user where username='$username'");//返回一个句柄;
$passarray = mysql_fetch_row($sqlpass);//获得一个只有一行数据的数族
$passval = $passarray[0];//这里才是对应用户的密码
//判断该用户的密码是否正确
if($passval!=$pass){
echo json_encode($arrays[0]['two']);//不正确返回passerror
}
}
?>
注册
<?php
@header("content-type:text/html;charset=uft8");
$conne = mysql_connect("localhost","root","root")or die("数据库用户名或密码错误".@mysql_error());
$select = mysql_select_db("test",$conne)or die("数据库用户名或密码错误".@mysql_error());
$utf = mysql_query("set names utf8");
$username= $_REQUEST['username'];
$pass = $_REQUEST['pass'];
$arrays = array(array("one"=>'repeat','two'=>'success'));
$sql = mysql_query("select count(*) from user where username='$username'");
$row = mysql_fetch_row($sql);
$num = $row[0];
//判断用户名是否已经被注册了
if($num == 1){
echo json_encode($arrays[0]['one']);//被注册返回repeat
}else{
mysql_query("insert into user(username,pass) values('$username','$pass')");
echo json_encode($arrays[0]['two']);
}
?>
php+ajax..转的更多相关文章
- jQuery之ajax实现篇
jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...
- Ajax及跨域
概念 Ajax Ajax,Asynchronous JavaScript and XML,字面意思:异步的 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术. 用于异步地去获 ...
- 一个粗心的Bug,JSON格式不规范导致AJAX错误
一.事件回放 今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...
- ABP文档 - Javascript Api - AJAX
本节内容: AJAX操作相关问题 ABP的方式 AJAX 返回信息 处理错误 HTTP 状态码 WrapResult和DontWrapResult特性 Asp.net Mvc 控制器 Asp.net ...
- ajax异步请求
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...
- 调用AJAX做登陆和注册
先建立一个页面来检测一下我们建立的用户名能不能用,看一下有没有已经存在的用户名吗 可以通过ajax提示一下 $("#uid").blur(function(){ //取用户名 va ...
- Ajax 概念 分析 举例
Ajax是结合了访问数据库,数据访问,Jquery 可以做页面局部刷新或者说是页面不刷新,我可以让页面不刷新,仅仅是数据的刷新,没有频繁的刷页面,是现在比较常用的一种方式做页面那么它是怎么实现页面无刷 ...
- ajax
常见的HTTP状态码状态码:200 请求成功.一般用于GET和POST方法 OK301 资源移动.所请求资源移动到新的URL,浏览器自动跳转到新的URL Moved Permanently304 未修 ...
- 学习笔记之MVC级联及Ajax操作
由于刚转型到MVC,MVC的架构模式很多不是很清楚,比如今天就想做个级联的操作,因为之前的ASP.NET的方式是通过:控件-->添加事件-->后台编写级联事件进行触发,但是这个MVC就不同 ...
- javascript表单的Ajax 提交插件的使用
Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmi ...
随机推荐
- linux系统root用户忘记密码的重置方法
如果不小心忘记了新安装的lCentOS7的root密码,现在将找回过程分享给大家. 1.首先,在启动grub菜单,选择编辑选项启动: 2.然后,按e 进入编辑模式: 3.将'linux 16'行'ro ...
- AJXA 入门 前端界面操作(例题)
AJXA 处理界面 与之前的 嵌入 PHP 相比 不用 频繁的 刷新界面 mysql 链接数据库封装类 <?php class DBDA { public $host="lo ...
- WinForm跨窗体传值
1.另一窗体建公共变量listdataRow public List<DataGridViewRow> listdataRow = new List<DataGridViewRow& ...
- 使用JHChart勾勒你想要的图表
前言 从2016年4月14日开始,本人着手开发了JHChart图表工具库.经过断断续续的开发,截止到现在,已经实现了折线图.柱状图.饼状图.环形图和表格样式的图表功能.为了方便使用,我已经将一个简单的 ...
- android 决解启动屏白黑屏会延迟几秒的问题
通常写启动屏,都有个很不喜欢的问题,就是会空白几秒才显示界面,而且界面还是很简单的! 解决办法 1 写一个透明的主题,一般启动屏都是不要bar的所以继承AppTheme.NoActionBar < ...
- 可视化日历_Java实现
//刚刚学Java,写的小程序 package cn.xiaocangtian.testDate; import java.text.DateFormat; import java.text.Pars ...
- python中list作为全局变量无需global声明的原因
发现一个问题. python中list变量作为全局变量时,在函数中可以直接修改. 而普通变量则需要先在函数中global声明,否则会报错. 例如: a = 1 def fun(): global a ...
- 解决文件上传插件Uploadify在火狐浏览器下,Session丢失的问题
因为在火狐浏览器下Flash发送的请求不会带有cookie,所以导致后台的session失效. 解决的方法就是手动传递SessionID到后台. $("#fileresultfiles&qu ...
- CSS3 Loading(加载)动画效果
1.html 部分 <div class="spinner"> <div class="rect1"></div> < ...
- [WPF]WPF Data Virtualization和UI Virtualization
这篇博客将介绍WPF中的虚拟化技术. 1. Data Virtualization 通常情况下我们说数据虚拟化是指数据源没有完全加载,仅加载当前需要显示的数据呈现给用户.这种场景会让我们想到数据分页显 ...