php学习正式起航(5)
现在开始php与html的混编之路
php文件可以嵌入html代码,但html文件不可嵌入php代码,因为html是静态文件嘛
说说 PHP 表单和用户输入
PHP 的 $_GET 和 $_POST 用于获取表单提交的值
下面新建一个php文件 index.php
<html> <body> <form action="index.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
现在还是纯html代码 表单提交给自身,提交方式为post
现在加入php代码
<html> <body> <form action="index.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
<?php echo "Name:".$_POST['name']; echo "Age:".$_POST['age']; ?>
php可以加在文件的任何地方,不需要在html标签里面
最后打印的就是你文本框输入的结果
如果action为空,也是默认提交给文件自身
$_POST['name']; 可以用双引号可以单引号,不加引号也能(但会提醒注意)
post提交方式不能用$_GET获取
下面用$_GET获取表单的值
<html> <body> <form action="" method="get"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
<?php echo "Name:".$_GET["name"]; echo "Age:".$_GET["age"]; ?>
为什么使用 $_GET?
在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的。
一般用分页,详细信息显示等
POST则一般是提交数据专用
另外还有一种$_REQUEST 请求的意思,表示客户端的请求
PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。
PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
<html> <body> <form action="" method="get"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
<?php echo "Name:".$_REQUEST["name"]; echo "Age:".$_REQUEST["age"]; ?>
这种无论是get还是post提交方式都能获取,但尽量少用。因为有时候你得确认对方是什么方式提交的,还是分清楚比较好
下面说说 PHP Session 变量
当运行一个应用程序时,你会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(比如用户名称、购买商品等)。不过,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久储存信息,可以把数据存储在数据库中。 Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
在用session 中之前,首先必须启动会话,这跟其他语言不同
<?php session_start(); ?>
<html> <body> </body> </html>
session_start() 函数必须位于 标签之前
index.php页面
test.php 页面
<?php session_start(); echo $_SESSION['name']; ?>
index页面存入的seesion值就能在test页面显示出来
无论是存入还是输出,每个页面都要session_start();一下
$_SESSION['name']; 同样可以单双引号或不加,貌似php里都是这样,以后不再重复了哈
如果希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
然后在到test.php 就无法输出了
<?php session_start(); if(isset( $_SESSION['name'])) echo $_SESSION['name']; else echo "null"; ?>
isset函数是检查某个值是否被设置(赋值),就是判断一个值是否为空
下面说
PHP Cookies
什么是 Cookie? cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
如何创建 cookie? setcookie() 函数用于设置 cookie。
setcookie() 函数必须位于 标签之前。
<?php setcookie("user", "Hello world", time()+3600); ?>
我们将创建名为 "user" 的 cookie,把为它赋值 "Hello world"。规定了此 cookie 在一小时后过期:
cookie一般保存在电脑哪里?
以IE浏览器来说,保存在
C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files
Temporary Internet Files文件夹里
你会发现以你php项目为名的txt文件,打开它
就可以看到内容啦,不过有些内容是加密的,但前半段
user
Hello+world
localhost/MyPHP/ 还是能看到的
获取cookie值
<html> <body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; else echo "Welcome New!<br />"; ?> </body> </html>
$_COOKIE是获取cookie值的
纵观其他语言,获取get,post,cookie都是用对象的,php显然简单的多,虽然是面向过程形式的
下面说php对文件的处理
首先在项目根目录创建一个文件 1.txt 内容hello world
打开文件 fopen() 函数用于在 PHP 中打开文件。此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件
<?php $file=fopen("1.txt","r"); ?>
$file这个变量是个资源变量,表示文件打开的状态
关于资源变量以后还会接触
文件可能通过下列模式来打开: 模式描述
r 只读。在文件的开头开始。
r+ 读/写。在文件的开头开始。
w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
a+ 读/追加。通过向文件末端写内容,来保持文件内容。
x 只写。创建新文件。如果文件已存在,则返回 FALSE。
x+ 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
如果 fopen() 无法打开指定文件,则返回 0 (false)。
打开文件还不够,接着打印
<?php $file=fopen("1.txt","r"); $data=""; while(!feof($file)) { $data.=fgets($file); } fclose($file); echo $data; ?>
feof() 函数检测是否已达到文件的末端 (EOF)。在循环遍历未知长度的数据时,feof() 函数很有用。
fgets() 函数用于从文件中逐行读取文件。
在调用该函数之后,文件指针会移动到下一行。
fclose 关闭文件
另外fread函数也可以读取文件
<?php $file=fopen("1.txt","r"); $data=""; while(!feof($file)) { $data.=fread($file,4096); } fclose($file); echo $data; ?>
fread() 从文件指针 handle 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。
fread与fgets的区别
fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止.
fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用.
其实还有文件写入,文件上传下载这些
暂时先简要介绍在这里,以后我接触的时候再说
以上就是php学习正式起航(5)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.
