PHP学习笔记part2

----------------------------------------PHP其实真的没什么难度,就是我搭网的时候还是有很多问题.......不过还是先熟悉基本的东西吧,毕竟我是搞安全方面的-----------------------------
一.接着上面的 

  10)php函数

PHP 用户定义函数:除了内建的 PHP 函数,我们可以创建我们自己的函数,函数是可以在程序中重复使用的语句块,页面加载时函数不会立即执行,函数只有在被调用时才会执行。注意定义函数时其类型只能为function

<?php                                         结果:Hello world!
function writeMsg() {
   echo "Hello world!";
}

writeMsg();                                ps:函数名对大小写不敏感。
?>

 

<?php                                   结果:5+10=15
function sum($x,$y) {                         7+13=20

 

$z=$x+$y; 2+4=6 return $z; } echo "5 + 10 = " . sum(5,10) . "<br>"; echo "7 + 13 = " . sum(7,13) . "<br>"; echo "2 + 4 = " . sum(2,4); ?> 

ps:  count()  函数用于返回数组的长度

 

关联数组的例子
<?php                                                      结果:Peter is 43 years old.
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>                                                         ps:=>为赋值

  11)超全局变量(超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量)

PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用,在函数或方法中无需执行 global $variable; 就可以访问它们。

 

这些超全局变量是:

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

具体参照w3school的讲解,上面的讲解真的不错,简单易懂!!  http://www.w3school.com.cn/php/php_superglobals.asp

二.PHP表单(PHP 超全局变量 $_GET 和 $_POST 用于收集表单数据(form-data)

  1)

<html>                                        ps:必需的 action 属性是规定当提交表单时,向何处发送表单数据。
<body>                                           而method则规定如何发送表单数据,表单数据发送到action属性所规定的页面
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

 

<input type="value">属性值表

这里是text,即单行输入字段

 

2)Get和Post的区别(get和post都是从客户端接受数据 只不过方式不同)

 

GET 和 POST 都创建数组(例如,array( key => value, key2 => value2, key3 => value3, ...))。此数组包含键/值对,其中的键是表单控件的名称,而值是来自用户的输入数据。GET 和 POST 被视作 $_GET 和 $_POST。它们是超全局变量,这意味着对它们的访问无需考虑作用域,无需任何特殊代码,能够从任何函数、类或文件访问它们。

$_GET 是通过 URL 参数传递到当前脚本的变量数组。

$_POST 是通过 HTTP POST 传递到当前脚本的变量数组。
注意!!!

 

 

1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

 

 

 

  3)PHP表单验证(对HTML 表单数据进行适当的验证对于防范黑客和垃圾邮件很重要!)

PHP 验证实例见这里----------------http://www.w3school.com.cn/php/php_form_validation.asp

这里有以下几点要注意:

                 1.textarea为文本框,之前的text为单行文本

                 2.htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 &lt; 和 &gt; 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。常用在<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">这种语句里面。

                 3.php的安全性之(XSS)

而通过使用 htmlspecialchars() 函数就能够避免 $_SERVER["PHP_SELF"] 被利用。

                  4.一个完整例子

 

<!DOCTYPE HTML> 
<html>
<head>
</head>
<body> 
<?php
$name = $email = $gender = $comment = $website = "";        //所有值都赋空值
if ($_SERVER["REQUEST_METHOD"] == "POST") {
   $name = test_input($_POST["name"]);
   $email = test_input($_POST["email"]);
   $website = test_input($_POST["website"]);
   $comment = test_input($_POST["comment"]);
   $gender = test_input($_POST["gender"]);
}
function test_input($data) {
   $data = trim($data);                                   //trim函数可以去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
   $data = stripslashes($data);                           //stripslashes函数可以删除用户输入数据中的反斜杠(\)
   $data = htmlspecialchars($data);                       //这里再把特殊字符转化成html实体
return $data; } ?> 

<h2>PHP 验证实例</h2><form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 姓名:<input type="text" name="name"> <br><br> 电邮:<input type="text" name="email"> <br><br> 网址:<input type="text" name="website"> <br><br> 评论:<textarea name="comment" rows="5" cols="40"></textarea> //文本框 <br><br> 性别: <input type="radio" name="gender" value="female">女性 //单选按钮 <input type="radio" name="gender" value="male">男性 <br><br> <input type="submit" name="submit" value="提交"> //提交按钮</form><?phpecho "<h2>您的输入:</h2>";echo $name;echo "<br>";echo $email;echo "<br>";echo $website;echo "<br>";echo $comment;echo "<br>";echo $gender;?></body></html>

 

 

 

 

 

 

 

 

 

 

 

 

 


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值