首页 > 编程技术 > php

PHP网络编程:创建登录表单

发布时间:2016-11-25 16:10

 登录表单的HTML代码如下:

  将以上代码保存为login.php文件并在浏览器中运行,显示页面中的登录表单如图2-16所示。


图2-16 显示页面的登录表单 



  循环体的前两句用于交错相邻行的背景色,以粗体显示的第 3句是关键,它输出了一个核选框控件,且控件的名称为“ids[]”,控件的值为相应的帖子的ID。控件名称中的方括号使得表单提交时,同名的核选框中的数据以数组的方式提交到服务器端。循环体的最后两句则根据帖子的删除标志显示不同图片。

  用于删除操作的按钮的HTML代码如下所示:

  按钮的链接都是调用JavaScript的do_submit()函数,只是传入的参数不同。do_submit()函数的定义代码如下所示:

 参数为search时,是对使用帖子搜索功能的处理;参数为其他值(即单击删除按钮传入的值)时,如果是all或none(即全部删除和全部恢复)则先调用selectAll()函数将表单中的核选框全部选中,然后再提交。selectAll()函数在op.js中的定义代码如下所示:

  该函数使用for循环遍历参数所指对象的所有子孙对象,如果子孙对象是核选框则将其checked属性设为true使其被选中。

< SQL注入是网络攻击的一种常见手法,攻击者通过对页面中的SQL语句进行拼组来获得管理账号、密码及更多的其他信息。这种攻击方法对于网站的危害是非常大的。

    SQL注入攻击的一般方法

    以下代码是一个简单的数据输出页面,该页面通过从浏览器地址栏获得参数来显示相应的内容。
    <?php
    $id = $_GET[''id''];                    //获得参数
    $sql = "SELECT * FROM posts WHERE postid = $id";        //定义SQL
    mysql_connect("localhost", "root");           //连接服务器
    mysql_select_db("guestbook");                    //连接数据库
    $rs = mysql_query($sql);                     //执行SQL
    if(mysql_numrows($rs))                     //如果记录存在,则输出
    {
        $row_rs = mysql_fetch_assoc($rs);
        echo "TOPIC: ".$row_rs[''topic'']."<br>";
    }
    else                  <?php require_once(''Connections/conn.php''); ?>
    <?php
    $colname_rs = $_GET[''key''];                 //获得用户输入
    $result = explode('','',$_GET[''key'']);//分解用户输入的多个关键词,存入$result数组
    mysql_select_db($database_conn, $conn); //连接数据库
    //根据多个关键词构建SQL语句
    $query_rs = "SELECT * FROM (";
    for($i=0;$i<count($result);$i++)            //根据每个搜索关键词构建SQL语句
    {
      if($i==0)                                 //对第一个关键词,不使用UNION
        $query_rs .= "SELECT * FROM searchtable WHERE title LIKE ''%$result[0]%''
            OR content LIKE ''%$result[0]%''";
      else                                      //对其他关键词,使用UNION连接
        $query_rs .= " UNION SELECT * FROM searchtable WHERE title LIKE
            ''%$result[$i]%'' OR content LIKE ''%$result[$i]%''";
    }
    $query_rs .= ") T ORDER BY last_access DESC";   //对搜索结果排序
    //执行SQL语句
    $rs = mysql_query($query_rs, $conn) or die(mysql_error());
    $row_rs = mysql_fetch_assoc($rs);
    $totalRows_rs = mysql_num_rows($rs);
    


在参与了几个大型PHP项目,写了很多PHP代码以后,我发现很多工具可以提高代码质量,简化发布,使得做为PHP开发人员的生涯变得轻松许多。许多这样的工具可能已经为大家所用。但是,由于一些人甚至没有注意到这些工具的存在,我会从此开始,好了,不说废话,下面是我认为所有PHP程序员应该知道的工具列表。 Phing - 一个项目构建系统


Phing 是一个基于Apache ANT 的项目构建系统。它的名字是一个拗口的语句首字母缩写 - PHing Is Not GNU make 。Phing可以做传统构建系统比如 GNU make 能做的任何事情,同时没有陡峭的学习曲线。
在phing(以及其他的构建系统)背后的思想是评估一系列相关性,然后执行一系列PHP类去正确的安装和配置一个应用系统。构建过程用一个简单的XML配置文件控制。Out of the box,phing内置可以执行一系列替换(比如:在你的开发版本和产品版本间改变include路径)、执行SQL语句、移动和复制文件、运行外部脚本等等。通过扩展包含在发行包中的“task”类,你也可以创造自己的定制任务。

对任何需要在超过一台服务器上部署大型PHP应用的人来世,Phing是一个无价之宝。同时我发现它对简单的PHP脚本也是很有用的。
Xdebug - 调试和分析工具    SyntaxHighlighter.highlight();
标签:[!--infotagslink--]