ajax 用户 登录 功能
今天来讲讲ajax实现静态文件登陆效果吧,首先我们就以站www.111cn.net登陆效果为例子吧:先看www.111cn.net的登陆入口效果:
这看上去和别的没什么区别,但我们仔细一看原来这是一个静态页面的入口,登陆成功的在这个静态页面显示的效果是,这张是登陆成功选择进入的栏目,
我们主要的是看这张的效果图,这是在index.html登陆成功的显示的效果,不过我要申明它不是用框架做的,而正是用ajax实现的,下面我们来看看它的html源码我们就会发出在文件最后有这样一段代码:
<script language="javascript">
<!--
function return_member(str){
var url='';
ajaxcreate();
if(str==0){
url="/member.php?action="+Math.random();
}else{
url="/user_login.php?pp="+Math.random();
}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
if(str==0){
xmlHttp.onreadystatechange=returnstate;
}else{
xmlHttp.onreadystatechange=update_login;
}
}
function returnstate(){
if(xmlHttp.readyState != 4 ){
document.getElementById("ajax").innerHTML="正在加载数据,请稍后...";
}
if(xmlHttp.readyState == 4 ){
document.getElementById("ajax").innerHTML=xmlHttp.responseText;
}
}
function update_login(){
if(xmlHttp.readyState == 4 ){
document.getElementById("pper").innerHTML=xmlHttp.responseText;
}
}
function loader(){
return_member();
}
-->
</script>
这代码url="/user_login.php?pp="+Math.random();这个就是把数据发给user_login.php文件进行处理了,其实的php文件和我们普通的登陆方式没什么不同的.
注明:原创作品 转载请注明:www.111cn.net
<div id="b">test</div>
<script>
function createAjax() { //该函数将返回XMLHTTP对象实例
var _xmlhttp;
try {
_xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); //IE的创建方式
}
catch (e) {
try {
_xmlhttp=new XMLHttpRequest(); //FF等浏览器的创建方式
}
catch (e) {
_xmlhttp=false; //如果创建失败,将返回false
}
}
return _xmlhttp; //返回xmlhttp对象实例
}
var exitdos =createAjax();
alert(exitdos)
exitdos.open("GET","www.111cn.net",true);
exitdos.onreadystatechange= function()
{
if (exitdos.readyState == 1) {document.getElementById("b").innerHTML="check..."}
if(exitdos.readyState==4)
{
//( == 200) &&
alert(exitdos.status)
alert(exitdos.responseText);
}
}
exitdos.send(null);
</script>
function cnSubStr($string,$sublen)
{
if($sublen>=strlen($string))
{
return $string;
}
$s="";
for($i=0;$i<$sublen;$i++)
{
if(ord($string{$i})>127)
{
$s.=$string{$i}.$string{++$i};
continue;
}else{
$s.=$string{$i};
continue;
}
}
return $s;
}
<?PHP
$str="这个字^_^符好长呀,^_^";
$Short_Str=showShort($str,5);//截取前面4个汉字,结果为:这个字符...
Echo "$Short_Str";
Function csubstr($str,$start,$len)
{
$strlen=strlen($str);
$clen=0;
for($i=0;$i<$strlen;$i++,$clen++)
{
if ($clen>=$start+$len)
break;
if(ord(substr($str,$i,1))>0xa0) //ord取首字符的ascii码
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,2);
$i++;
}
else
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,1);
}
}
return $tmpstr;
}
Function showShort($str,$len)
{
$tempstr = csubstr($str,0,$len);
if ($str<>$tempstr)
$tempstr .= "...";
return $tempstr;
}
?>
第三步就是php代码处理留言的信息合法性了,
<?php
require_once("inc/connect.php");
$myname =get_value('myname',post);
$mymail =get_value('mymail',post);
$mytel =get_value('mytel',post);
$mybook =get_value('mycontent',post);
//exit($mymail);
if(strlen($myname)>100 || strlen($myname)<1){alert('用户长度1-100','');}
if(!@preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/",$mymail) || strlen($mymail)<6 ){alert('请输入正确的邮箱地址以便我们与你联系!','');}
if(!@preg_match("/\d{3}-\d{8}|\d{4}-\d{7}/",$mytel)){alert('请输入合法的电话如:0731-******','');}
$sql ="select * from tbn where gx_object='$myname' and gx_mail='$mymail'";
$result =mysql_query($sql);
if(mysql_num_rows($result)){
mysql_free_result($result);
alert('提示,你己提交留言,请不要重复提交!','');
}
$sql ="Insert into tbn(gx_content,gx_time,gx_tel,gx_mail,gx_object) value('$mybook','".date('y-m-d')."','$mytel','$mymail','$myname')";
mysql_query($sql) or die(alert('你的留言中有非法数据!',''));
alert('提示:留言成功',$_SERVER['HTTP_REFERER']);
?>
最四步就是显示留言了.
<?php
include("../inc/connect.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<link href="style/admin.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.STYLE1 {color: #000000}
.STYLE2 {color: #0000FF}
-->
</style>
<script>
<!--
function all_(str){
var box_l = document.getElementsByName("box_x[]").length;
for(var j = 0 ; j < box_l ; j++){
document.getElementsByName("box_x[]")[j].checked = str;
}
}
--></script>
</head>
<body>
<table width="95%" border="0" align="center" cellpadding="1" cellspacing="1" style="margin-top:20px; border:1px solid #9abcde;">
<tr>
<td height="25" colspan="3" background="skins/top_bg.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<form id="form2" name="form2" method="post" action="?"> <tr>
<td width="100%">你正在管理留言信息... </td>
<td width="0%" align="right">
<label></label><label></label></td>
</tr></form>
</table></td>
</tr> <form id="form1" name="form1" method="post" action="menu_sava.php?action=allbook">
<td width="4%"></tr>
<?php
$result =mysql_query("select * from tbn");
$pagecount=1;
$order=1;
if(isset($_POST['key'])){
$key=str_replace("'","*",$_POST['key']);
}else if(isset($_GET['key'])){
$key=str_replace("'","*",$_GET['key']);
}else{
$key='';
}
$total="select * from tbn";
$sql="select * from tbn";
if(!empty($key) && !is_null($key) && strlen($key)>2 && strlen($key)<50 ){
$total.=" where gx_title like '%$key%' ";
$sql.=" where gx_title like '%$key%' ";
}
$result=mysql_query($total) or die('fail1'.mysql_error());
$rs=mysql_fetch_array($result);
$rdcount=mysql_num_rows($result);
if($rdcount){
$pagesize=15;
$pagecount=($rdcount % $pagesize)?(int)($rdcount / $pagesize)+1:$rdcount/$pagesize;//统计总页面
$page=isset($_GET['page'])?$_GET['page']:1;//取得当前页面
$start=($page>=1 && $page<=$pagecount)?$start=$pagesize*($page-1):$start=1;//取得超始记录
$order=isset($_GET['order'])?$_GET['order']:4;
$sql.=" order by id desc limit $start,$pagesize";
$resulte=mysql_query($sql) or die('fail'.mysql_error());
while ($rs =mysql_fetch_array($resulte) ){
?> <tr>
<td height="25" colspan="3" align="left" valign="middle" background="images/main_bg.gif" class="td_heng" style="padding-right:5px;">
<input type="checkbox" name="box_x[]" id="box_x[]" value="<?php echo $rs[0];?>" />
标题:<?php echo $rs['gx_title']?>
作者:<?php echo $rs['gx_object']?>
电话:<?php echo $rs['gx_tel']?>
时间:<?php echo $rs['gx_time']?>
邮箱:<?php echo $rs['gx_mail']?></td>
<tr onMouseOver="this.style.background='#d7ebff'" onMouseOut="this.style.background='#ffffff'">
<td height="27" colspan="2" align="left" valign="middle" class="td_heng" style="padding:15px;">
<?php echo $rs['gx_content']?> </td>
<td width="7%" align="center" valign="bottom" class="td_heng"><a href="menu_sava.php?action=delguest&id=<?php echo $rs[0];?>" onclick="javascript:return confirm('确认删除?删除后无法恢复','','');">删除</a></td>
</tr>
<tr>
<td height="32" colspan="3"> </td>
</tr>
<?php
}
}
?>
<tr>
<td height="32" colspan="3" background="skins/top_bg.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="34%"><input type="button" onclick="javascript:all_(true);" name="Submit" value="全选" />
<input type="button" onclick="all_(false);" name="Submit" value="反选" />
<input type="submit" onclick="javascript:return confirm('确认提醒:删除后无法还原!','','');" value='删除所选项' /></td>
<td width="66%" align="right" style="word-spacing:5px;">
<?php
$url ="?key=".rawurlencode($key)."&orderby=$order&page=";
pagelist(@$page,$pagecount,$rdcount,$url,@$pagesize);
?></td>
</tr>
</table></td>
</tr> </form>
</table>
</body>
</html>
注:原创文章转载请注明:www.111cn.net
今天我们来讲一下用php制作简单的留言板,首先来分析一下留言板,
第一步:设计数据库.
第二步:设置html页面,就是留言页面,
第三步:php处理页面,保存到数据库.
第四步:留言显示页面.
好了我们先来看看第一步:
CREATE TABLE IF NOT EXISTS `gx_guestbook` (
`id` int(4) NOT NULL auto_increment,
`gx_title` varchar(200) default NULL,
`gx_content` mediumtext,
`gx_time` datetime default NULL,
`gx_tel` varchar(20) default NULL,
`gx_mail` varchar(50) default NULL,
`gx_object` varchar(100) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=10 ;
上面是创建数据库这里就没什么好说了.
再来看第二步设置html留言页面
<div id="guest">
<h4 class="top_line">客户留言</h4>
<ul>
<form action="guest_sava.php" enctype="multipart/form-data" method="post">
<li><span><input name="myname" type="text" id="myname" size="22" />
</span>你的昵称:</li>
<li><span><input name="mymail" type="text" id="mymail" size="22" />
</span>你的电邮:</li>
<li><span><input name="mytel" type="text" id="mytel" size="22" />
</span>联系电话:</li>
<li><span>
<textarea name="mycontent" cols="22" rows="7" class="case_matter" id="mycontent"></textarea>
</span>你的留言:</li>
<div style="clear:both; text-align:right; height:30px; padding-top:8px;"><input name="提交" type="submit" value="提交" /> <input name="" type="reset" value="重置" />
</div>
</form>
</ul>
</div>
上面就是留言的页面了,效果图
相关文章
- php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
- 在很多网站用户先访问一个要登录的页面,但当时没有登录后来登录了,等待用户登录成功之后肯定希望返回到上次访问的页面,下面我就来给大家介绍登录后跳转回原来要访问的页...2016-11-25
- 本文章完美的利用了php的curl功能实现模拟登录discuz以及模拟发帖,本教程供参考学习哦。 代码如下 复制代码 <?php $discuz_url = ‘ht...2016-11-25
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
Ruby on Rails实现最基本的用户注册和登录功能的教程
这里我们主要以has_secure_password的用户密码验证功能为中心,来讲解Ruby on Rails实现最基本的用户注册和登录功能的教程,需要的朋友可以参考下...2020-06-30- 当来访者浏览器语言是中文就进入中文版面,国外的用户默认浏览器不是中文的就跳转英文页面。 <?php $lan = substr( $HTTP_ACCEPT_LANGUAGE,0,5); if ($lan == "zh-cn") print("<meta http-equiv='refresh' c...2015-11-08
- 一个用Javascript检测用户输入密码强度的效果代码,以下代码主要是从以下四个方面检测用户输入的密码的强度的,有兴趣的朋友可以自己添加或修改成自己想要的形式! 1. 如果输入的密码位数少于5位,那么就判定为弱。 2. 如果...2015-10-23
- 什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
- 【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 s...2015-11-24
- 什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
- 这篇文章主要为大家详细介绍了vue实现用户登录切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-04-22
- 这是注册程序是一款当用户输入完用户名是,就会自动去数据库中查询用户要注册的用户名是否己经被注册了,如果是返回提示否则提示可以注册。 conn.php文件 代...2016-11-25
- 出现phpmyadmin不能登录是我在修改我mysql服务器密码之后导致的,后来百度了相关的原因,原来是修改了mysql密码之后我们还需要在phpmyadmin目录中去修改config.inc.php中...2016-11-25
Vue-Element-Admin集成自己的接口实现登录跳转
关于这个Vue-element-admin中的流程可能对于新的同学不是很友好,所以本文将结合实例代码,介绍Vue-Element-Admin集成自己的接口实现登录跳转,感兴趣的小伙伴们可以参考一下...2021-06-23- 这篇文章主要介绍了C#实现图片放大功能的按照像素放大图像方法,功能非常实用,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了浅谈js二维码扫码登录是什么原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
- 在本篇文章中小编给各位整理了一篇关于python中翻译功能translate模块实现方法,有需要的朋友们可以参考下。...2020-12-18
- 这篇文章主要给大家介绍了关于微信小程序用户授权最佳实践的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-08
- 昨天有一朋友说自己的phpmyadmin不能登录并且无任何提示了,问我怎么解决,下面我来分享一下关于phpmyadmin不能登录问题总结. phpmyadmin不能登录没有提示 解决方法:...2016-11-25
- EMUI11值得升级吗?好不好用?下面小编带来EMUI11上手体验,一起来看看手机鸿蒙OS的提前预演...2020-12-08