php中提交表单有两种方法,即:
(1)利用表单提交
例:
<form action="php文件名" method='提交方式'>
username:<input name="username" id="username" type="text"/><br/>
password:<input name="password" id="password" type="password"/><br/>
<input type="submit" name="btn" value="按钮名"/>
</form>
后台php获取上传数据可以通过超全局数组:
如果上面的提交方式是:POST,则用 $_POST
如果上面的提交方式是:GET,则用 $_GET
如:用POST方式提交,在接收该表单的php文件,
$username=$_POST['username'];
$password=$_POST['password'];
post方法不会改变浏览器地址栏的路径,比较安全
get方法,会将你提交的东西显示在地址栏上,所以相对于post方法不是特别安全
这种用form直接提交数据,一般用于处理数据后,直接向数据库插入数据,然后直接跳转页面。
ajax简介:
使用ajax 通过后台服务器进行少量的数据库交换,网页可以实现异步、局部更新
利用ajax也有这两种方式,但这两中有很大的差别,
使用ajax的post,在php echo的东西返回到js提交数据的ajax那儿的是数据,一般用于返回处理某件事的结果(如:向数据库插入数据后,将结果返回,然后通过js或jquery对html上的DOM结构进行操作);注:不能跳转到该文件,(若跳转,则该文件中接收不到数据)
使用ajax的get,在php 中 echo 的东西会返回一个html页面直接在当前输出,可以用js直接跳转到当前php文件。不过得注意路径后面的变量一定不要出错,
其实,它还是会把数据返回去到js提交的那个ajax那儿
在这里,我用的是jquery中的ajax:
get 提交:
$(".look").bind("click",function(){ $("#tip p").remove(); var blog_id = $(this).val(); location.href="../php/back_editor.php?action=look&blog_id="+blog_id; $.ajax({ type: "GET", url: "../php/back_editor.php?action=look", dataType: "json", data:{'blog_id':blog_id}, success:function(d){ } }); });
post提交:
$(".delete").bind("click",function(){ $("#tip p").remove(); if (confirm("确定要删除该博客?")) { var blog_id=($(this).val()); $.ajax({ type: "POST", url: "../php/my_blog_back_way.php?action=delete", dataType: "json", data:{'blog_id':blog_id}, success:function(d){ if (d.de_blog) { alert('该博客已删除'); history.go(0); } } }); } });
在php那边接收的时候,还是用$_GET 或$_POST 这两个全局数组接收
然后把要返回去的数据 用echo输出
json数据类型:
简介: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式
1. “名称/值”对的集合(对象(object)) 2. 值的有序列表(An ordered list of values)(数组(array))。 大部分计算机都支持json数据类型,json也算比较简单 易被理解,所以被广泛应用
JSON的具体形式: 1、对象是一个无序的“‘名称/值’对”集合。一个对象以“{”开始,以“}”结束。每个“名称”后跟一个“:”,“‘名称/值’对”之间使用“,”分隔。 2、数组是值(value)的有序集合。一个数组以“[”开始,“]”结束。值之间使用“,”分隔。 3、值(value)可以是双引号括起来的字符串(String)、数值(number)、true、false、null、对象(object)或者数组(array)。这些结构可以嵌套。 4、字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜体转义。一个字符(character)即一个单独的字符串(characeter string)。
注:后面json这部分知识是在json API上看的