php学习网站和phpmyadmin配置,Ajax的原理与应用

 

  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;
  }


我们在执行任何Ajax操作之前,都必须先调用InitAjax()函数来实例化一个Ajax对象。这个函数可以作为一个通用函数来用,当然这个函数也有其他的写法,此处写的比较简单,因为大多数浏览器都支持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="图片一" οnclick="getimages(1)"></th>
  </tr>
  <tr>
    <th height="69" scope="col" align="right"><input type="button" name="" value="图片二" οnclick="getimages(2)"></th>
  </tr>
  <tr>
    <th height="69" scope="col" align="right"><input type="button" name="" value="图片三" οnclick="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方法。 ....




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值