推荐阅读
  • PHP Calendar

    PHP 5 Calendar 函数 PHP Calendar 简介 日历扩展包含了简化不同日历格式间的转换的函数。 它是基于 Julian Day Count(儒略日计数),是从公元前 4713 年 1 月 1 日开始计算的。 注释:如需在日历格式之间转换,必须首先转换为 Julian Day Count,然后再转换为您需要的日历格式。 注释:Julian Day Count(儒略日计数)与 J

  • PHP 变量

    PHP 变量 变量是用于存储信息的“容器”: 实例 [mycode3 type='php'] [/mycode3] 运行实例 » 与代数类似 x=5 y=6 z=x+y 在代数中,我们使用字母(如 x),并给它赋值(如 5)。 从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。 在 PHP 中,这些字母被称为变量。 变量是用于存储数据的容器。

  • PHP Error

    PHP 错误处理 在 PHP 中,默认的错误处理很简单。一条错误消息会被发送到浏览器,这条消息带有文件名、行号以及描述错误的消息。 PHP 错误处理 在创建脚本和 Web 应用程序时,错误处理是一个重要的部分。如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门。 本教程介绍了 PHP 中一些最为重要的错误检测方法。 我们将为您讲解不同的错误处理方法: 简单的 &#

  • PHP Switch

    PHP Switch 语句 switch 语句用于根据多个不同条件执行不同动作。 PHP Switch 语句 如果您希望有选择地执行若干代码块之一,请使用 switch 语句。 语法 [mycode3 type='php'] [/mycode3] 工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存

  • PHP 多维数组

    PHP 多维数组 一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组。依照这种方式,我们可以创建二维或者三维数组: 实例 [mycode3 type='php'] [/mycode3] 运行实例 » PHP - 多维数组 多维数组是包含一个或多个数组的数组。 在多维数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。

  • AJAX 投票

    PHP 实例 - AJAX 投票 AJAX 投票 在下面的实例中,我们将演示一个投票程序,通过它,投票结果在网页不进行刷新的情况下被显示。 function getVote(int) { if (window.XMLHttpRequest) {// IE7+, Firefox, Chrome, Opera, Safari 执行代码 xmlhttp=new XMLHttpRe

  • PHP 表单验证

    PHP 表单验证 本章节我们将介绍如何使用PHP验证客户端提交的表单数据。 PHP 表单验证 在处理PHP表单时我们需要考虑安全性。 本章节我们将展示PHP表单数据安全处理,为了防止黑客及垃圾信息我们需要对表单进行数据安全验证。 在本章节介绍的HTML表单中包含以下输入字段: 必须与可选文本字段,单选按钮,及提交按钮: 查看代码 » 上述表单验证规则如下: 字

  • PHP 超级全局变量

    PHP 超级全局变量 超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用。 PHP 超级全局变量 PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。 PHP 超级全局变量列表: $GLOBALS $_SERVER $_REQU

  • PHP 表单

    PHP 表单和用户输入 PHP 中的 $_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入。 PHP 表单处理 有一点很重要的事情值得注意,当处理 HTML 表单时,PHP 能把来自 HTML 页面中的表单元素自动变成可供 PHP 脚本使用。 实例 下面的实例包含了一个 HTML 表单,带有两个输入框和一个提交按钮。 form.html 文件代码: [mycode3 ty

  • PHP MySQL 连接

    PHP 连接 MySQL PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi extension ('i' 意为 improved) PDO (PHP Data Objects) 在 PHP 早期版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。 我是该用 MySQLi ,还是 PDO? 如果你需要一个简短的回答,即

AJAX XML

AJAX 可用来与 XML 文件进行交互式通信。

AJAX XML 实例

下面的实例将演示网页如何通过 AJAX 从 XML 文件读取信息:


Select a CD:

Bob Dylan

Bee Gees

Cat Stevens

CD info will be listed here...

实例解释 - HTML 页面

当用户在上面的下拉列表中选择某张 CD 时,会执行名为 "showCD()" 的函数。该函数由 "onchange" 事件触发:


<html>

<head>

<script>

function showCD(str)

{

    if (str=="")

    {

        document.getElementById("txtHint").innerHTML="";

        return;

    } 

    if (window.XMLHttpRequest)

    {

        // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行

        xmlhttp=new XMLHttpRequest();

    }

    else

    {

        // IE6, IE5 浏览器执行

        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

    }

    xmlhttp.onreadystatechange=function()

    {

        if (xmlhttp.readyState==4 && xmlhttp.status==200)

        {

            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

        }

    }

    xmlhttp.open("GET","getcd.php?q="+str,true);

    xmlhttp.send();

}

</script>

</head>

<body>

<form>

Select a CD:

<select name="cds" onchange="showCD(this.value)">

<option value="">Select a CD:</option>

<option value="Bob Dylan">Bob Dylan</option>

<option value="Bonnie Tyler">Bonnie Tyler</option>

<option value="Dolly Parton">Dolly Parton</option>

</select>

</form>

<div id="txtHint"><b>CD info will be listed here...</b></div>

</body>

</html>

showCD() 函数会执行以下步骤:

  • 检查是否有 CD 被选择
  • 创建 XMLHttpRequest 对象
  • 创建在服务器响应就绪时执行的函数
  • 向服务器上的文件发送请求
  • 请注意添加到 URL 末端的参数(q)(包含下拉列表的内容)

PHP 文件

上面这段通过 JavaScript 调用的服务器页面是名为 "getcd.php" 的 PHP 文件。

PHP 脚本加载 XML 文档,"cd_catalog.xml",运行针对 XML 文件的查询,并以 HTML 返回结果:


<?php

$q=$_GET["q"];

$xmlDoc = new DOMDocument();

$xmlDoc->load("cd_catalog.xml");

$x=$xmlDoc->getElementsByTagName('ARTIST');

for ($i=0; $i<=$x->length-1; $i++)

{

    // 处理元素节点

    if ($x->item($i)->nodeType==1)

    {

        if ($x->item($i)->childNodes->item(0)->nodeValue == $q)

        {

            $y=($x->item($i)->parentNode);

        }

    }

}

$cd=($y->childNodes);

for ($i=0;$i<$cd->length;$i++)

{ 

    // 处理元素节点

    if ($cd->item($i)->nodeType==1)

    {

        echo("<b>" . $cd->item($i)->nodeName . ":</b> ");

        echo($cd->item($i)->childNodes->item(0)->nodeValue);

        echo("<br>");

    }

}

?>

当 CD 查询从 JavaScript 发送到 PHP 页面时,将发生:

  1. PHP 创建 XML DOM 对象
  2. 查找所有 <artist> 元素中与 JavaScript 所传数据相匹配的名字
  3. 输出 album 的信息,并发送回 "txtHint" 占位符
关于我们 免责声明 联系我们
Copyright © 2021 爱学习网 浙ICP备18049359号 网站地图 Google地图