搜尋
首頁後端開發php教程实例学习PHP之表单处理篇_PHP

P>标题: ■ 实例学习 PHP 之表单处理篇
   学习前的准备:

   要想学习PHP,当然少不了要安装PHP啦,所以如果你是初次学习,请先阅读网络学院的文章:

    PHP4.03在linux下的安装

   PHP4.04在win98下的安装

   PHP4.04在英文win2000下的安装

   如果你找不到安装程序请到下面下载:

   PHP4.04Beta WIN32 安装程序


   PHP4.03源程序


   PHP3.0.16 WIN32 安装程序


   PHP3.0.16源程序

   OK!现在应该已经没有什么可以阻止我们学习了,Let's go!

   在学习开始以前,我们先交待一下关于表单的基础知识,如果你对HTML非常熟悉,那么可以跳过该部分,直接学习。

   故名思议表单是利用网页收集数据的工具,比如你想在网上搞个群众调查啊什么的,肯定是少不了要用他的。下面我简单介绍一下表单的基础知识,关于他的详细内容请自行查阅HTML手册。

   表单的使用其实非常简单,大家先看一下下面的例子:

  


    "METHOD=post>

   名字:


   单项选择:

   我很笨

   我非常笨

   我简直就是个傻冒


   多项选择:

   我喜欢打蓝球

   我喜欢游泳

   我喜欢跳舞

   我喜欢爬山

 

  

 

  

 

  
 

    名字: 
单项选择:  我很笨  我非常笨  我简直就是个傻冒
多项选择:  我喜欢打蓝球  我喜欢游泳  我喜欢跳舞  我喜欢爬山

 
 

   怎么样?看明白了吗?上部分是表单的html源代码,下部分则是这个表单在浏览器的表现形式。 标志"METHOD=post> 表示开始一个表单,到标志时表单结束。处理这个表单的程序,用Form标志里的action属性指出。在这里为, 其中$PHP_SELF是PHP中的一个global 变量,用于保存目前执行 PHP 程式页面的档名,的意思就是用当前的PHP程序来处理这个表单。那么下面的METHOD=post表示什么意思呢?其实表单从浏览器发给服务器有两种方法. GET 和 POST. GET方法将数据打包放置在环境变量QUERY_STRING中作为URL整体的一部分传递给服务器。 POST做很多类似GET同样的事情, 不同的地方就是它是分离地传递数据给脚本. 你的脚本通过标准输入获取这些数据. QUERY_STRING环境变量将不再设置.因此POST有更好的安全性,尤其如果你的表单中有很多数据的话. 当你用GET, 这个服务器就分配变量QUERY_STRING给所有的表单数据, 但是这个变量可存储量是有限的. 换句话说,如果你有很多数据但是你又用GET,你会丢失很多数据。 如果你用POST, 你可以尽可能多地使用数据, 因为这些数据从来也不分配到一个变量里。此外用post传递数据还有一个好处,它不会象get那样把你传送的数据暴露在浏览器的地址栏中,比如象下面这种:form.php?name=genius&pwd=123456 ,明白了吧?所以还是用post让人安心一点啦。

   (编者注:由于数据库的兼容问题,在上文的源代码中的“$”符和上引号请在实际应用中改为半角字符的相应符号。若有不便之处,敬请原谅。)

   下面继续我们的学习吧,在建立表单的过程中,你一般只会用到两个标志,一个是前面说的; Form>标志,还有就是 ; Input>标志,不要小看它哟,表单里的各种小控件都是由它来建立的。借助于Input标志的Type属性可以定义输入方法类型,有效值为TEXT,PASSWORD,RADIO,CHECKBOX,SUBMIT,RESET,IMAGE,FILE,HIDDEN和BUTTON。 下面是对这几个输入类型的简要说明:

TEXT 产生简单的单行文本输入字段,为了取得多行文本,用; TEXTAREA>标志
PASSWORD 和TEXT一样产生简单的单行文本输入字段,但不会在屏幕上显示输入内容
RADIO 产生可开闭的小单选按钮,多项选择可用CHECKBOX型或者; SELECT>标志
SUBMIT 产生用于将所有名称数值对提交给表单处理程序的按钮
RESET 用于将所有输入方法复位为空值或缺省值
IMAGE 将提交按钮变成图形,这个数值与提交按钮一致,只是选择图形时鼠标位置x、y坐标也发送给表单处理程序
BUTTON 产生不与脚本进行特定交互功能的按钮


   现在我们已经知道如何生成输入小控件了,那么在这些控件里输入的数据怎么传递给我们的程序来处理呢?在d 在INPUT标志中有一个NAME属性专门用于给输入的数值取名,例如: NAME="first"。在定义以后,如果想程序访问这个数据,用global申明一下就可以使用喽。如果想定义数据默认值的话,可以用Value属性定义,例如上面程序的 VALUE="我很笨" 就是定义了一个默认值,下面我们来看一个单项选择的实例:

   ; INPUT TYPE=RADIO NAME="first" VALUE="我很笨">我很笨

   ; INPUT TYPE=RADIO NAME="first" VALUE="我非常笨">我非常笨

   ; INPUT TYPE=RADIO NAME="first" VALUE="我简直就是个傻冒"> 我简直就是个傻冒

   从上面大家可以看出NAME,VALUE的基本用法了吗?什么?还不明白…………(地藏晕倒在地……)

   OK,我们的表单使用就简单的讲到这里吧,下面开始我们进入正题 ----- PHP处理表单

   用PHP来处理表单数据实在是一件非常简单的事情,打个比方就好象你吃饭时用筷子一样,使用非常的自然,没有什么需要特别注意的地方。老样子,大家开始学习以前先看看下面的代码吧。

   上面是一个非常类似调查表的PHP例子,由于程序比较简单,所以没有做什么注解。大家在仔细看程序之前可以把这段代码拷下来在自己机器运行一下先看看实际效果,这样有一个直观的印象。

   (编者注:由于数据库的兼容问题,在上文的源代码中的“$”符和上引号请在实际应用中改为半角字符的相应符号。若有不便之处,敬请原谅。)

调查表;/title> <p><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></p> <p></p> <p></p>

function display_form() {

global $PHP_SELF;

?>

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
使用數據庫存儲會話的優點是什麼?使用數據庫存儲會話的優點是什麼?Apr 24, 2025 am 12:16 AM

使用數據庫存儲會話的主要優勢包括持久性、可擴展性和安全性。 1.持久性:即使服務器重啟,會話數據也能保持不變。 2.可擴展性:適用於分佈式系統,確保會話數據在多服務器間同步。 3.安全性:數據庫提供加密存儲,保護敏感信息。

您如何在PHP中實現自定義會話處理?您如何在PHP中實現自定義會話處理?Apr 24, 2025 am 12:16 AM

在PHP中實現自定義會話處理可以通過實現SessionHandlerInterface接口來完成。具體步驟包括:1)創建實現SessionHandlerInterface的類,如CustomSessionHandler;2)重寫接口中的方法(如open,close,read,write,destroy,gc)來定義會話數據的生命週期和存儲方式;3)在PHP腳本中註冊自定義會話處理器並啟動會話。這樣可以將數據存儲在MySQL、Redis等介質中,提升性能、安全性和可擴展性。

什麼是會話ID?什麼是會話ID?Apr 24, 2025 am 12:13 AM

SessionID是網絡應用程序中用來跟踪用戶會話狀態的機制。 1.它是一個隨機生成的字符串,用於在用戶與服務器之間的多次交互中保持用戶的身份信息。 2.服務器生成並通過cookie或URL參數發送給客戶端,幫助在用戶的多次請求中識別和關聯這些請求。 3.生成通常使用隨機算法保證唯一性和不可預測性。 4.在實際開發中,可以使用內存數據庫如Redis來存儲session數據,提升性能和安全性。

您如何在無狀態環境(例如API)中處理會議?您如何在無狀態環境(例如API)中處理會議?Apr 24, 2025 am 12:12 AM

在無狀態環境如API中管理會話可以通過使用JWT或cookies來實現。 1.JWT適合無狀態和可擴展性,但大數據時體積大。 2.Cookies更傳統且易實現,但需謹慎配置以確保安全性。

您如何防止與會議有關的跨站點腳本(XSS)攻擊?您如何防止與會議有關的跨站點腳本(XSS)攻擊?Apr 23, 2025 am 12:16 AM

要保護應用免受與會話相關的XSS攻擊,需採取以下措施:1.設置HttpOnly和Secure標誌保護會話cookie。 2.對所有用戶輸入進行輸出編碼。 3.實施內容安全策略(CSP)限制腳本來源。通過這些策略,可以有效防護會話相關的XSS攻擊,確保用戶數據安全。

您如何優化PHP會話性能?您如何優化PHP會話性能?Apr 23, 2025 am 12:13 AM

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显著提升应用在高并发环境下的效率。

什麼是session.gc_maxlifetime配置設置?什麼是session.gc_maxlifetime配置設置?Apr 23, 2025 am 12:10 AM

theSession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceisesneededeededeedeedeededto toavoidperformance andunununununexpectedLogOgouts.3)

您如何在PHP中配置會話名?您如何在PHP中配置會話名?Apr 23, 2025 am 12:08 AM

在PHP中,可以使用session_name()函數配置會話名稱。具體步驟如下:1.使用session_name()函數設置會話名稱,例如session_name("my_session")。 2.在設置會話名稱後,調用session_start()啟動會話。配置會話名稱可以避免多應用間的會話數據衝突,並增強安全性,但需注意會話名稱的唯一性、安全性、長度和設置時機。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),