澳门威利斯人_威利斯人娱乐「手机版」

来自 澳门威利斯人 2019-07-14 08:10 的文章
当前位置: 澳门威利斯人 > 澳门威利斯人 > 正文

中数据修改操作时,ThinkPHP分页链接的数据拼接

show()方法中,会自行的事先拼接$_POST里的数码,组成分页链接的参数,所以一时大家调用分页类生成分页链接时,大概须要把$_POST数据放到$_GET中,并销毁$_POST;

$_SERVER["PHP_SELF"]是最好全局变量,再次回到当前正值试行脚本的公文名,与 document root相关。

标题叙述:

show() 部分源码如下:

当骇客使用跨网址脚本的HTTP链接来攻击时,$_SERVER["PHP_SELF"]服务器变量也会被植入脚本。原因正是跨网址脚本是附在施行文书的不二等秘书诀后边的,由此$_SERVER["PHP_SELF"]的字符串就能够含有HTTP链接前边的JavaScript程序代码。

 

  // 分析分页参数          if($this->url){              $depr       =   C('URL_PATHINFO_DEPR');              $url        =   rtrim(U('/'.$this->url,'',false),$depr).$depr.'__PAGE__';          }else{              if($this->parameter && is_string($this->parameter)) {                  parse_str($this->parameter,$parameter);              }elseif(is_array($this->parameter)){                  $parameter      =   $this->parameter;              }elseif(empty($this->parameter)){                  unset($_GET[C('VAR_URL_PARAMS')]);        //分页链接拼接的参数                  $var =  !empty($_POST)?$_POST:$_GET;                  if(empty($var)) {                      $parameter  =   array();                  }else{                      $parameter  =   $var;                  }              }              $parameter[$p]  =   '__PAGE__';              $url            =   U('',$parameter);          }  

用PHP向MySql数据库中期维修改数据,完成增加和删除改(数据库能精确连接)

  

怎么样防止:

经测验,代码只好对数字举行常规的增加和删除改操作,非数字操作无效

 

$_SERVER["PHP_SELF"] 能够透过 htmlspecialchars() 函数来幸免被采纳。

 


htmlspecialchars() 函数把有个别预约义的字符转变为 HTML 实体。

但要在课程名称中输入汉语,应该假诺退换呢?

& (和号) 成为 &

 

" (双引号) 成为 "

留存难题的代码重固然:

' (单引号) 成为 '

 $sql = mysql_query("insert into kcb values($kch,$kcm,$kkxq,$xs,$xf)"); 

< (小于) 成为 <

 

> (大于) 成为 >


图片 1

 


数据库的数据:

例子:

图片 2

if ($_SERVER["REQUEST_METHOD"] == "POST")

 

{

代码(代码是情有可原的)如下:

if (empty($_POST["name"]))  //空值管理

<?php 
    if (isset($_POST["change"])) {
        //修改
        $kch = $_POST['kch'];   //课程号
        $kcm = $_POST['kcm'];   //课程名
        $kkxq = $_POST['kkxq']; //开课学期
        $xs = $_POST['xs'];     //学时
        $xf = $_POST['xf'];     //学分
        $sql = mysql_query("update kcb set KCM='$kcm',KKXQ=$kkxq,XS=$xs,XF=$xf where KCH=$kch");
        echo "<script>alert('修改音信成功');</script>";
    }
    if (isset($_POST["add"])) {
        //增加
        $kch = $_POST['kch'];   //课程号
        $kcm = $_POST['kcm'];   //课程名
        $kkxq = $_POST['kkxq']; //开课学期
        $xs = $_POST['xs'];     //学时
        $xf = $_POST['xf'];     //学分
        $sql = mysql_query("insert into kcb values($kch,'$kcm',$kkxq,$xs,$xf)");    
        echo "<script>alert('增多音信成功');</script>";
    }
    if (isset($_POST["delete"])) {
        //删除
        $kch = $_POST['kch'];   //课程号
        $sql = mysql_query("delete from kcb where KCH=$kch");
        echo "<script>alert('删除音信成功');</script>";
    }
?>

{

 

$nameErr = "名字是必须的";


}

难点消除:

else

 

{

(都是猜的)

$name = myInput($_POST["name"]);

 

}

由于只对数字有效,故预计传进数据库的数据类型存在难题。

//接收数据并管理和赋值

 

$email = myInput($_POST["email"]);

但通过 var_dump($kcm) 得到数据类型是 string 类型。

本文由澳门威利斯人发布于澳门威利斯人,转载请注明出处:中数据修改操作时,ThinkPHP分页链接的数据拼接

关键词: 澳门威利斯人 PHP知识点