PHP学习之--表单与验证

来源:互联网 发布:google tensorflow教程 编辑:程序博客网 时间:2024/04/27 18:20

表单与验证

重新导向一个URL

header(string);

<?phpheader('Location:http://www.baidu.com');//跳转到百度?>

在执行header()函数,必须注意,之前不能有任何浏览器输出
标头 (header) 是服务器以 HTTP 协议传 HTML 资料到浏览器前所送出的字符串,在
标头与 HTML 文件之间尚需空一行分隔。
1.用于重新导向指定的 URL

<?phpheader('Location:http://www.baidu.com');?>

2.用于设置页面字符编码

<?phpheader('Content-Type: text/html; charset=gbk');echo '嘿嘿,我是中文!页面编码是GBK,文件也是GBK';?>

注意:除非启用了输出缓冲,否则这些命令必须在返回任何输出之前执行。

启用输出缓冲:ob_start()

<?phpob_start();?>

GET 与 POST

处理表单时,必须指定输入到表单的信息以何种方式传输到其目的地(method=”” )。
对此,Web 开发人员可以采用 GET 和 POST。使用 GET 方法发送数据时,所有域都追加
到浏览器的 URL 后面,并且为数据随 URL 地址发送。采用 POST 方法时,值会作为标准
值发送。
PHP 分别使用GET_POST 超全局变量来处理 GET 和 POST 变量。通过使用这
两个超全局变量,可以准确地指定信息应当来自哪里,并以你希望的方式处理数据。
使用GET_POST 来接收数据
1.GET[username]methodget2._POST[‘username’],发送的表单 method 必须是 post;
3.采用 isset(string)来验证$_GET[‘username’]超级全局变量是否定义(注意空字符串也是);
4.使用 htmlspecialchars(string)函数将 HTML 特殊字符进行过滤。
对数据有效性进行验证
1.使用函数 trim(string)去除数据的前后空格;
2.使用函数 strlen(string)判断数据的长度;
3.使用函数 is_numeric()判断数据是纯数字;
4.使用正则表达式验证邮箱是否合法。

会话的控制

TTP(超文本传输协议)定义了通过万维网(WWW)传输文本、图形、视频和所有 其他数据所有的规则。HTTP 是一种无状态的协议,说明每次请求的处理都与之前或之后的 请求无关。虽然这种简化实现对于 HTTP 的普及做出了卓越的贡献,但对于希望创建复杂的 Web 应用程序的开发人员来说,这点有点困扰。为了解决这个问题,出现了一种在客户端 机器上存储少量信息(cookie )。 由于 cookie 大小限制、数量及其他原因,开发人员又提出了一种解决方案:session 会 话处理。

设置 cookie:setcookie()函数

可以在客户端生成一个 cookie 文件,这个文件可以保存到 期时间、名称、值等。

setcookie(name,value,time);
第一个参数是cookie名,第二个参数是值,第三个参数是过期时间
setcookie并不是及时性的,它会慢一拍

<?phpecho $_COOKIE['name'];?>
<?phpsetcookie('name', '' );setcookie('name','Lee',time()-1);?>

用iseet()检测cookie是否存在

使用 Cookie 的限制
1、必须在 HTML 文件的内容输出之前设置;
2、不同的浏览器对 Cookie 的处理不一致,且有时会出现错误的结果。
3、限制是在客户端的。一个浏览器能创建的 Cookie 数量最多为 30 个,并且每个不能 超过 4KB,每个 WEB 站点能设置的 Cookie 总数不能超过 20 个。

Session会话处理

session 会话处理,必须开始 session,使用 session_start()开始会话。

创建 session 并读取 session

<?phpsession_start();$_SESSION['name'] = 'Lee';echo $_SESSION['name'];?>

创建session,直接采用超级全局变量赋值即可.
session是存在服务端,一般存放1440秒.如果网页没有任何操作,会自动销毁,当然,可以通过该php.ini去修改保存时间如果关闭了浏览器,那么也会自动销毁.及时性的,不像cookie会慢半拍

判断 session 是否存在

<?phpsession_start();$_SESSION['name'] = 'Lee';if (isset($_SESSION['name'])) {echo $_SESSION['name'];}?>

删除 session (也可以将字符串设置为空,不建议)

<?phpsession_start();$_SESSION['name'] = 'Lee';unset($_SESSION['name']);echo $_SESSION['name'];?>

销毁所有 session

<?phpsession_start();$_SESSION['name'] = 'Lee';$_SESSION['name2'] = 'Lee';session_destroy();echo $_SESSION['name'];echo $_SESSION['name2'];?>

session_destroy() — 销毁一个会话中的全部数据

cookie适用于会员登录

购物车.因为它不占有服务器资源,所以会员特别多,购物车特别多的,就用cookie

session一般用于后台管理登录,人少.

安全,一段时间不操作会自动过期

1 0
原创粉丝点击