http://www.w3school.com.cn/php/php_forms.asp
http://www.5idev.com/p-php_class_object.shtml
以版本phpMyAdmin-2.6.1.tar.gz为例
先解压phpMyAdmin-2.6.1.tar.gz到/usr/local/apache2/htdocs,
得到文件夹phpMyAdmin-2.6.1,将其重命名为phpmyadmin,(这样在以后的操作中将会变的简便)。
进入到phpmyadmin文件夹,用vim命令打开config.inc.php。
即#vim config.inc.php.
加密只需要修改两个部分:
1、 找到 $cfg['Servers'][$i]['auth_type'] = 'config';(第83行),将config改为http。
如我的是:$cfg['Servers'][$i]['auth_type'] = 'http';
2、 紧接着两行填上数据库的用户名和密码即可
如我的是:$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '123456';
Phpmyadmin中MySQL加密就完成了!
*****************************************************
Phpmyadmin配置过程中还有一处需要修改的:
找到$cfg['PmaAbsoluteUri'] = '';(39行)
在后面填上你的服务器的phpmyadmin的绝对地址即可
如我的是:
$cfg['PmaAbsoluteUri'] = 'http://10.10.19.167/phpmyadmin';
这样phpmyadmin配置完成,简单吧!(注:不同的版本可能会不同)
----------------------------------------------------------------------------------------------
Ajax的应用
要想应用Ajax,首先必须搞清楚Ajax的执行原理:一个Ajax交互从一个称为XMLHttpRequest的JavaScript对象开始。如同名字所暗示的,它允许一个客户端脚本来执行HTTP请求,并且将会解析一个XML格式的服务器响应。Ajax处理过程中的第一步是创建一个XMLHttpRequest实例。使用HTTP方法(GET或POST)来处理请求,并将目标URL设置到XMLHttpRequest对象上。
当你发送HTTP请求,你不希望浏览器挂起并等待服务器的响应,取而代之的是,你希望通过页面继续响应用户的界面交互,并在服务器响应真正到达后处理它们。要完成它,你可以向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest请求。控制权马上就被返回到浏览器,当服务器响应到达时,回调函数将会被调用。
看这些你可能看不懂,太抽象了!下面我给个Ajax的实际例子:
1. 初始化Ajax
Ajax实际上就是调用了XMLHttpRequest对象,那么首先我们的就必须调用这个对象,我们构建一个初始化Ajax的函数:
function InitAjax() { var ajax=false; try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { ajax = false; } } if (!ajax && typeof XMLHttpRequest!='undefined') { ajax = new XMLHttpRequest(); } return ajax; }
2. 使用Get方式
现在我们第一步来执行一个Get请求,加入我们需要获取 /show.php?id=1的数据,那么我们应该怎么做呢?
假设有一个链接:<a href="/show.php?id=1">新闻1</a>,我点该链接的时候,不想任何刷新就能够看到链接的内容,那么我们该怎么做呢?
//将链接改为:
<a href="#" onClick="getNews(1)">新闻1</a>
//并且设置一个接收新闻的层,并且设置为不显示:
<div id="show_news"></div>
同时构造相应的JavaScript函数:
function getNews(newsID)
{
//如果没有把参数newsID传进来
if (typeof(newsID) == 'undefined')
{
return false;
}
//需要进行Ajax的URL地址
var url = "/show.php?id="+ newsID;
//获取新闻显示层的位置
var show = document.getElementById("show_news");
//实例化Ajax对象
var ajax = InitAjax();
//使用Get方式进行请求
ajax.open("GET", url, true);
//获取执行状态
ajax.onreadystatechange = function() {
//如果执行是状态正常,那么就把返回的内容赋值给上面指定的层
if (ajax.readyState == 4 && ajax.status == 200)
{
show.innerHTML = ajax.responseText;
}
}
//发送空
ajax.send(null);
}
当用户点击“新闻1”这个链接的时候,在下面对应的层将显示获取的内容,而且页面没有任何刷新。当然,上面省略了show.php这个文件,我们只是假设show.php文件存在,并且能够正常工作的从数据库中把id为1的新闻提取出来。这种方式适应于页面中任何元素,包括表单等等,其实在应用中,对表单的操作是比较多的,针对表单,更多使用的是POST方式。
下面是我做的一个简单的例子:
1、test.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>ajax测试页</title> <style type="text/css"> <!-- body { margin-left: 10%; margin-right: 10%; } #Layer1 { position:absolute; width:256px; height:326px; z-index:1; left: 380px; top: 16px; } --> </style> <script type="text/javascript"> function InitAjax() { var ajax=false; try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { ajax = false; } } if (!ajax && typeof XMLHttpRequest!='undefined') { ajax = new XMLHttpRequest(); } return ajax; } function getimages(id) { var url = "images.php?picture="+id; var show = document.getElementById("Layer1"); var ajax = InitAjax(); ajax.open("GET", url, true); ajax.onreadystatechange = function() { if (ajax.readyState == 4 && ajax.status == 200) { show.innerHTML = ajax.responseText; } } ajax.send(null); } </script> </head> <body> <table width="226" height="433" border="1" align="left" cellpadding="3" rules="none" frame="rhs"> <tr> <th height="69" scope="col" align="right"><input type="button" name="" value="图片一" onclick="getimages(1)"></th> </tr> <tr> <th height="69" scope="col" align="right"><input type="button" name="" value="图片二" onclick="getimages(2)"></th> </tr> <tr> <th height="69" scope="col" align="right"><input type="button" name="" value="图片三" onclick="getimages(3)"></th> </tr> <tr> <th height="214" scope="col"></th> </tr> </table> <div id="Layer1"></div> </body> </html>
2、images.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> </head> <body> <?php $id=$_GET["picture"]; if($id==1) { printf("<img src='images/1.jpg' width='320' height='440' />"); } if($id==2) { printf("<img src='images/2.jpg' width='320' height='440' />"); } if($id==3) { printf("<img src='images/3.jpg' width='320' height='440' />"); } ?> </body> </html>
只要在images文件夹下有这三个图片就可以了!
Ajax提交数据的常用方法
一般情况下,使用Ajax提交的参数多是些简单的字符串,可以直接使用GET方法将要提交的参数写到open方法的url参数中,此时send方法的参数为null。
例如 :
var url = "login.jsp?user=XXX&pwd=XXX";
xmlHttpRequest.open("GET",url,true);
xmlHttpRequset.send(null);
此外,也可以使用send方法传递参数。使用send方法传递参数使用的是POST方法,需要设定Content-Type头信息,模拟HTTP POST方法发送一个表单,这样服务器才会知道如何处理上传的内容。参数的提交格式和GET方法中url的写法一样。设置头信息前必须先调用open方法。
例如:
xmlHttpRequest.open("POST","login.jsp",true);
xmlHttpRequest.setRequestHeder("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xmlHttpRequest.send("user="+username+"&pwd="+password);
需要注意的是根据提交方式的不同,两种提交方式分别调用后台的doGet方法和doPost方法。 ....