05_php表单

目录

1php表单……………..…………………………………………………………………………..3

 

 

1、Php表单

Php通过预定义变量$_POST$_REQUEST$_GET$_SERVER$_COOKIE等来完成客户端与服务器端的通信。

1.1$_GET

GET方法提交的数据显示在网址上,$_GET变量是一个包含名称[name]和值[value]的数组,信息传输量小。如:

http://localhost/test/get.php?id=200&name=xiaozhang&age=20

获取一个参数:

echo $_GET[“id”];

获取所有参数:

foreach($_GET as $key=>$value)

echo $key.”---”.$value;

示例:get.php

1.2$_POST

POST是一种常用的提交数据的方法,不显示在网址上,$_POST变量是一个包含名称[name]和值[value]的数组,信息传输量大。如:

<from action=“save.php” method=“post”>
姓名:<input name=“username”><input type=“submit” value=“提交”>
</from>

获取一个参数:

echo $_POST[“username”];

获取所有参数:

foreach($_POST as $key=>$value)

echo $key.”---”.$value;

 

获取表单信息—checkbox

1)、对于一个name一个value的情况,直接用$_POST取出。如$_POST[“username”]

2)、对于一个name多个value情况,如checkbox,将name后加[],如name=“hobby[]”,取法不变,$_POST[“hobby”],但此值为数组。如:
姓名:<input name="username"><br>

密码:<input name="password"><br>

性别:<input type="radio" name="sex" value="">  <input type="radio" name="sex" value="">

省份:<select name="city">

             <option value="">请选择</option>

             <option value="哈尔滨">哈尔滨</option>

             </select>
爱好:<input type=“checkbox” name=“hobby[]” value=“文学”>文学 

<input type=“checkbox” name=“hobby[]” value=“体育”>体育 

<input type=“checkbox” name=“hobby[]” value=“书法”>书法


print_r($_POST[“hobby”]); // 得到是一个数组。

示例:form.htmpost.phpmutiform.php

1.3$_REQUEST

同时具有$_GET$_POST的功能,可以取得网址和表单的所有信息。凡是$_GET$_POST的地方,均可用它代替。

1.4$_ENV

主要用来取得系统及环境相关信息。

foreach ($_ENV as $key=>$value)

{

              echo $key,"........",$value,"<br>";

}

如:$_ENV[“OS”];

参数:OS 系统类型,
如:Windows_NT
参数:SystemRoot 系统目录
如:C:\WINDOWS

示例:env.php

1.5$_SERVER

$_SERVER 是一个包含诸如头信息(header)、路径(path)和脚本位置(script locations)的数组。数组的实体由 web 服务器创建。$_SERVER[“参数”]中的参数如下:
http://localhost/test/server.php?id=20&name=hello


“PHP_SELF”                    取得文件的路径:/test/server.php
“QUERY_STRING”       
取得?号之后的参数:id=20&name=hello
REQUEST_URI”             
域名后部分:test/server.php?id=20&name=hello
REMOTE_ADDR”         
正在浏览当前页面用户的 IP 地址。
DOCUMENT_ROOT”     当前运行脚本所在的文档根目录。E:/web/www
SERVER_NAME”       
当前运行脚本所在服务器主机的名称。
REQUEST_METHOD”   访问页面时的请求方法。例如:“GET、“HEAD,“POST"HTTP_REFERER”         链接到当前页面的前一页面的 URL 地址。
SERVER_ADDR”          当前运行脚本所在的服务器的 IP 地址。

遍历:
foreach ($_SERVER as $key=>$value)
echo $key,"........",$value,"<br>";

示例:server.php

1.6$_COOKIE

Cookie通常用来验证或辨别一个用户。Cookie是通过服务器发送到用户计算机中的一个小文件。每次,当相同的计算机通过浏览器请求一个页面时,原先存储的cookie也会发送到服务器。你可以使用PHP来创建和获取cookie的值。
1)、创建Cookie
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

如:setcookie(“user”, “Liberty”, time()+3600); //名称,值,过期时间。
注:setcookie()必须放在<html>标记之前。

因为setcookie会发送网页头信息给客户端的浏览器,这样浏览器根据这些信息设置本地cookie,而<html>标签是网页正文,所以必须在头信息发送完之后才能发送。

<?php

setcookie("user", "Liberty", time()+3600);

?>

<html>

<body></body>

</html>

2)、获取cookie

指从客户端浏览器的临时文件中读取。如果客户清空了浏览器的临时文件,cookie将不存在。

获得某一cookie
如:$_COOKIE[“user”];
获得所有cookie
print_r($_COOKIE);
注:cookie用来判断用户登陆、身份验证等信息,但它有着一定的安全隐患,因为它的信息是存在客户端的。

示例:cookie.phpsetCookie.phpreadCookie.phpcookie/autoindex.php

1.7$_SESSION

session即会话,一个用户从访问网站到关闭网站这个过程,就是一个会话。多个用户之间,是不会相关干扰的,因为它们是不同会话。

在你将用户信息存入PHP Session之前,你必须先启动Session

session_start()函数必须写在<html>标签之前。

(或者直接修改php.ini配置文件中的session.auto_start = 1,然后重启服务即可)

如:

<?php

session_start();

 ?>

<html>

<body>

</body>

</html>

1)、定义:
<?php
session_start();
$_SESSION[‘views’]=2008;
?>
2)
、使用:
echo $_SESSION[“views”]; //2008
3)
、判断:
isset($_SESSION[“views”]); //判断一个session是否设置
4)、清空:
unset($_SESSION[‘views’];

5)、用途:

权限验证

注:sessioncookie的区别:

Session存于服务器端,安全,有时间限制,管理员程序一般用session

Cookie存于客户端,不安全,无时间限制,论坛一般用cookie

示例:session/autoindex.php

1.8$_FILES

$_FILES["file"]["name"] 客户端的文件名称

$_FILES["file"]["size"] 文件大小(字节)

$_FILES["file"]["tmp_name"]:存储于服务器中的文件副本的名称

$_FILES["file"]["error"]:文件上传时出现的错误代码

FILES["file"]["error"]

//保存
move_uploaded_file($_FILES[“file”][“tmp_name”], “upload/” . $_FILES[“file”][“name”]);

Php上传文件步骤:

1)、设置form表单

enctype=”multipart/form-data”

2)、存到服务器临时目录

$_FILES[“file”][“tmp_name”]

3)、拷贝到指定目录

move_uploaded_file();

上传文件示例:

客户端写法:
<form action=“upload_file.php” method=“post“ enctype=”multipart/form-data”>
<label for=“file”>Filename:</label>
<input type=“file” name=“file” id=“file” /> <br />
<input type=“submit” name=“submit” value=“Submit” />
</form>
服务器端写法:
$bool = ($_FILES[“file”][“type”] == “image/gif” || $_FILES[“file”][“type”] == “image/jpeg”) && ($_FILES[“file”][“size”] < 20000);
if (!$ bool )
{ echo “
类型不对,大小不对”;}

if ($_FILES["file"]["error"] > 0){
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";}

echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: “ . $_FILES[”file“][”tmp_name“] . ”<br />“;

if (file_exists(”upload/“ . $_FILES[”file“][”name“])){
echo $_FILES[”file“][”name“] . ” already exists. “;
}
else{
move_uploaded_file($_FILES[”file“][”tmp_name“],”upload/“ . $_FILES[”file“][”name“]);
echo ”
上传成功 " . "upload/" . $_FILES["file"]["name"];
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值