> php教程 > php手册 > PHP 和 HTML

PHP 和 HTML

WBOY
풀어 주다: 2016-06-13 12:45:03
원래의
1189명이 탐색했습니다.


PHP 和 HTML
PHP 和 HTML 可以互操作: PHP 能够生成 HTML, 而 HTML 可以传递信息给 PHP. 1. 我用一个 form/URL传值时,我要怎样 编码/解码? 2. 我在用 标记, 但 $foo.x and $foo.y 变量却不可用. 它们在哪里? 3. 我怎样创建 HTML

数组? 4. 我怎样从一个多选框得到所有的结果值?
1. 我用一个 form/URL传值时,我要怎样 编码/解码?
在几个阶段里,编码是非常重要的. 假设你有一个 字符串变量 $data, 它包含一些你要以 未编码 方式传递的字符, 要经过下面阶段的编码:

HTML 解释. 为了表示任何一个字符串, 你必须 把它包含在双引号里, 而且是HTML特殊字符的要使用 htmlspecialchars写法.
URL: URL 由几部分组成. 你想你的数据被看成URL的一部分, 你 必须 用 urlencode()编码它.


例 52-1. 隐藏的 HTML 表单元素 \n";?>
注意: 这里不能用urlencode() $data, 因为 urlencode() 数据是浏览器的责任. 绝大多数浏览器可以正确处理这样的数据. 无论用何种方法( GET POST). 你可以只考虑 GET 请求, 因为 POST 请求通常被隐藏了.
例 52-2. 用户编辑数据 \n";    echo htmlspecialchars($data)."\n";    echo "";?>
注意: 在浏览器窗口显示的数据会被解码成可读的,因为浏览器会对 HTML 标记进行解释.
一旦提交, 无论GET 还是 POST, 浏览器在传输数据时会进行URL编码,PHP则会对它进行解码. 一切都是自动进行的,你不需要做什么.
例 52-3. 在URL串里 \n";?>
注意: 实际上你在自己写一个 GET 请求, 所以用urlencode() 对它进行编码就是不可缺少的.
注意: 你需要htmlspecialchars() 整个URL串, 因为URL串是 HTML-属性的一部分. 这种情况下, 浏览器首先 反-htmlspecialchars() 这个值, 然后送出 URL . PHP 会识别这个URL串, 因为你用 urlencoded() 对它进行了编码.
你会发现 & 在 URL 串中 被替换成 &. 虽然你没有编码大部分的浏览器也会帮你做,但并不是所有的都能. 所以即使你在写一个静态的URL,你也需要 用 htmlspecialchars() 来对 URL 进行编码.

2. 我在用 标记, 但 $foo.x and $foo.y 变量却不可用. 它们在哪里?
在提交一个表单里, 可能使用一个 image 控件而不是使用 标准的提交按钮: When 当用户点上 image 控件的某个地方时, 表单被提交到服务器,并有两个附加的变量: foo.x and foo.y.
因为 $foo.x 和 $foo.y 在 PHP 里是无效的变量名, 所以它们自动被转换成$foo_x and $foo_y. 也就是说, 圆点被替换成了下划线.
3. 我怎样创建 HTML
数组?
为了使你的表单结果作为数组送往PHP脚本,你可以给 ,
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿