PHP利用超级全局变量,ajax实现无刷新检测用户名是否可用

我们在linux上用 touch php_get.html php_get.php创建两个文件。

前 言                                                  

在项目开发中经常见到不同页面之间传值在web工作中,本篇文章给大家列出了三种常见的方式。

php_get.html文件的代码如下:

直接上代码有点不厚道、于是按照天朝传统,整段描述吧。。。。(本人语言表达能力有限,大家忍着看)

接触PHP也有几个月了,本文总结一下这段日子中,在编程过程里常用的3种不同页面传值方法,希望可以给大家参考。有什么意见也希望大家一起讨论。

超级全局变量$_GET来接收提交的数据,然后返回信息利用GET方式提交数据

 功 能                                                  

一. POST传值

访问php_get.html页面然后这个页面向php_get.php提交数据,php这个页面会返回信息。

在网站注册用户时使用,主要为了无刷新异步验证用户输入的用户名或者Email是否已注册。

post传值是用于html的

php_太阳集团太阳娱乐登录,get.php代码如下:

这功能大家肯定见过,大多数网站都有的,我一直对这个功能很感兴趣,所以这几天研究了下
jQuery + Ajax

form中的action填入的是跳转页面的url路径,method填入post方法。form表单中的提交按钮按下后,就会把form中有name的内容都传到填入的url中,可以通过$_POST[‘name’]获取,例如:

返回信息

整了一个功能不算完善,但足以应付普通使用的代码
(更牛的功能大家自己去发掘)

这里有个很方便的小技巧,在input标签中把type选为’hidden’时,这个input标签会隐藏起来,不在页面显示,但这input标签在form中,并且有name值和value值,同样会跟随提交按钮传递过去,这种隐藏标签可以传递一些不想显示出来的内容。

php_get.php这个页面将提交的数据$_GET接收并打印出去。

 文 件 说 明                                           

二.GET传值

以上这篇PHP利用超级全局变量$_GET来接收表单数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

reg.php //为注册页面

GET传值是通过跟随url传递的,在页面跳转时,跟着url跳转。常用于标签的使用。例如:

check_user.php //为用户验证页面 (GET,POST方式任选)

点我跳转

jquery-1.7.1.js  //为jQuery文件 
下载地址: (右键另存为即可)

跳转进入xxx.php后,就能通过$_GET[‘id’]获取传递的值。GET方法常用于URL的目的是删除或读取某个id的php文件。

代码示例                                               

三.SESSION传值

reg.php 注册页面(内含2种方式,请任选一种)

SESSION是全局变量的一种,经常用于用户登陆后保存用户id之类的常用数据。一旦保存到SESSION中,其他页面都可以通过SESSION获取,SESSION的使用要开启session:

 代码如下

以上是小编给大家列出的三种方式,供大家参考,同时希望大家喜欢。

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“;
<html xmlns=”;
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″
/>
<title>PHP+Ajax 异步通讯注册验证</title>
<script type=”text/javascript”
src=”jquery-1.7.1.js”></script>
<!–千万别忘记引用jQuery文件,否则无法执行–>
<script type=”text/javascript”>
$(function(){

php和html之间的传值问题

   
//方式一   jQuery(普通应用时推荐,简单易用)

这样的表单我用form怎么向php传值,重点是php怎么接收这样的数据

 代码如下

——解决思路———————-

    $(“#user”).blur(function(){        //文本框鼠标焦点消失事件
   
       
$.get(“check_user.php?user=”+$(“#user”).val(),null,function(data)  
//此处get方式 可换为post方式按需求调整,其他无需修改使用方式一样
        {
            $(“#chk”).html(data);   //向ID为chk的元素内添加html代码
        });
       
        })
   

form表单里两个参数,一个action,表明了往哪个文件传,不写默认传自己;一个method,表明用什么方式传,有get和post两种

//方式二  aJax方式 (比较复杂,如无特殊需求推荐使用方式一)
       

input框加name

 代码如下

接受的文件里用$_POST接收。最简单的是直接var_dump或者var_dump然后你就知道怎么调用了

        $(“#user”).blur(function(){
       
            $.ajax({
                   
                url:”check_user.php”, //请求验证页面
                type:”GET”, //请求方式 可换为post 
注意验证页面接收方式
                data:”user=”+$(“#user”).val(),
//取得表文本框数据,作为提交数据 注意前面的 user  此处格式 key=value 
其他方式请参考ajax手册
                success: function(data)
                {  //请求成功时执行操作
                    $(“#chk”).html(data);
//向ID为chk的元素内添加html代码
                }
               
                });
        })
   
})
</script>
</head>
<body>
 <form id=”reg” action=”” method=”post”>
 用户名:<input id=”user” type=”text” /> <span
id=”chk”></span>
 </form>
</body>
</html>

check_user.php 异步通信页面 代码如下:

 代码如下

<?php
header(“Content-type:text/html;charset=gb2312”);

//GET方式获取数据(取决于异步提交时提交方式)
if($_GET[‘user’])
{
    $user=$_GET[‘user’];   
   
//此处可进行数据库匹配,本次省略直接判断
    if($user==”admin”)
    echo “<font color=red>用户名已被注册!</font>”;
    else
    echo “<font color=red>用户名可以使用</font>”;
}else{}

//POST方式获取数据(取决于异步提交时提交方式)
if($_POST[‘user’])
{
    $user=$_POST[‘user’];   
    //此处可进行数据库匹配,本次省略直接判断
    if($user==”admin”)
    echo “<font color=red>用户名已被注册!</font>”;
    else
    echo “<font color=red>用户名可以使用</font>”;
   
}else{}

?>

上面的2种方式分别又存在 post 和 get
两种方式,所以可以说有4种方式选择,应该可以满足普通应用了。

另外关于Ajax
内其他参数例如:请求数据类型,ajax开始操作等等事件。请参考ajax手册。这里不做阐述,较为复杂推荐使用第一种方式。