現在開始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>
最後打印的就是你文本框輸入的結果
如果action為空,也是默認提交給文件自身
$_POST['name']; 可以用雙引號可以單引號,不加引號也能(但會提醒注意)
post提交方式不能用$_GET取得
下面用$_GET取得表單的值
<?php echo "Name:".$_POST['name']; echo "Age:".$_POST['age']; ?>
<html> <body> <form action="" method="get"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
HTTP GET 方法不適合大型的變數值;值是不能超過 100 個字元的。
一般用分頁,詳細資料顯示等
POST則一般是提交資料專用
另外還有一種$_REQUEST 請求的意思,表示客戶端的請求
PHP 的$_REQUEST 變數包含了$_GET, $_POST 以及$_CIE的內容。
PHP 的 $_REQUEST 變數可用於取得透過 GET 和 POST 方法傳送的表單資料的結果。
<?php echo "Name:".$_GET["name"]; echo "Age:".$_GET["age"]; ?>
<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 Session 變數
當運行一個應用程式時,你會打開它,做些更改,然後關閉它。這很像會話。計算機清楚你是誰。它知道你何時啟動應用程序,並在何時終止。但在網際網路上,有一個問題:伺服器不知道你是誰以及你做什麼,這是由於 HTTP 位址無法維持狀態。透過在伺服器上儲存使用者資訊以便隨後使用,PHP session 解決了這個問題(例如使用者名稱、購買商品等)。不過,會話資訊是臨時的,在使用者離開網站後將被刪除。如果您需要永久儲存訊息,可以把資料儲存在資料庫中。 Session 的工作機制是:為每個訪客建立一個唯一的 id (UID),並基於這個 UID 來儲存變數。 UID 儲存在 cookie 中,也或透過 URL 進行傳導。
在用session 中之前,首先必須啟動會話,這跟其他語言不同
<?php echo "Name:".$_REQUEST["name"]; echo "Age:".$_REQUEST["age"]; ?>
<?php session_start(); ?>
index.php頁面
<html> <body> </body> </html>
$_SESSION['name']; 同樣可以單雙引號或不加,似乎php裡都是這樣,以後不再重複了哈
如果希望刪除某些session 數據,可以使用unset() 或session_destroy() 函數。
<?php session_start(); echo $_SESSION['name']; ?>
下面說
PHP Cookies
如何建立 cookie? setcookie() 函數用於設定 cookie。
setcookie() 函數必須位於 標籤之前。
Temporary Internet Files資料夾裡
你會發現以你php專案命名的txt文件,打開它
就可以看到內容啦,不過有些內容是加密的,但前半段
user
Hello+world
localhost/MyPHP/ 還是能看到的
取得cookie值
<?php session_start(); if(isset( $_SESSION['name'])) echo $_SESSION['name']; else echo "null"; ?>
<?php setcookie("user", "Hello world", time()+3600); ?>
下面說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中文网(m.sbmmt.com)!