程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP3 入門教程HTML 表單和變量

PHP3 入門教程HTML 表單和變量

編輯:PHP綜合
如同 ASP 一樣, PHP3.0 也可以很方便地處理 Html 表單和變量,從表單發送過來的每個值,都會自動地根據表單的名字屬性( name )賦予相應的變量值,可以直接在 PHP3 腳本中引用這些變量。這個功能在 Web 應用中使用的十分廣泛,客戶端的數據采集基本上都是用這種方法來實現的。下面,我們構建一個小小的自動郵件發送程序,來演示 PHP3.0 的這個功能。
  
     下面有一個 Html 表單的例子:

  < Html>
  < HEAD>
  < TITLE> 調查頁面
< /TITLE>
  < BODY>
  
  < CENTER> 您想知道更多的關於我們公司的信息嗎?
< P>
  < TABLE WIDTH = 400>< TR>< TD align = right>
  < FORM ACTION="email.PHP3" METHOD="POST">
  您的姓名:
< BR>
  < INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30">
  < P>
  您的郵件地址:
< BR>
  < INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30">
  < P>
  橘子和蘋果那個您更喜歡一些?

  < SELECT NAME="preference">
  < OPTION value = Apples> 蘋果 < OPTION value = Oranges> 橘子

  < /SELECT>
  < P>
  < INPUT TYPE="submit" VALUE=" 發送
">
  < /FORM>
  < /TD>< /TR>< /TABLE>< /CENTER>
  < /BODY>
  < /Html>
  
  
     將這個 Html 文件存為“ moreinfo.Html ”。

  
     你應該注意到了 FORM 的 ACTION 屬性被指向 email.PHP3 。這個文件將包含執行服務器端命令的腳本:

  
     email.PHP3 文件:

  < ?
  /* 這個腳本將用來處理從 moreinfo.Html 文件發送過來的信息
*/
  PRINT "< CENTER>";
  PRINT " 您好
, $name.";
  PRINT "< BR>< BR>";
  PRINT " 謝謝您的參與
< BR>< BR>";
  PRINT " 我們將向 $email 發出驗證信息
";
  PRINT "< /CENTER>
";
  ?>
  
  
  
   當用戶在 Html 表單中填入了姓名和 eMail 地址,並且按下了“發送”按鈕,這個表單將會調用 email.PHP3 文件,然後這個 PHP3 腳本將會返回那些輸入的信息(假設這個用戶的姓名是王鵬, eMail 地址是 [email protected] ,並且喜歡蘋果):
  
     您好,王鵬
.
  
     謝謝您的參與

  
     我們將向 [email protected] 發出驗證信息

  
     但是,到現在我們的計劃還沒有完成,應為我們沒有記錄下任何的用戶信息,也就不知道要如何發送這封 email 了。

  
     解決的一個方法,是使用 PHP3.0 的 mail() 函數。

  
     語法
: void mail(string to, string subject, string message, string add_headers);
  
     下面解釋一下這幾個參數的含義:

  
     * to - 指明郵件接受者的油箱地址。

  
     * subject - 郵件的 subject 標題欄的內容。

  
     * message - 郵件的 body ,也就是要發送的內容。

  
     * add_headers - 這個參數是可選的,用它來在郵件頭尾部插入一個字符串。

  
     這樣,如果把下面的這段腳本加到剛才的腳本中,插在最後一個 PRINT 語句的後面,我們就能夠在顯示後自動的發送郵件了:

  mail("$email", "Your request for information", "$namen
  Thank you for your interest!n
  We sell fresh corn daily over the Internet!
  Place your order at http://www.buy.com,
  and receive a free package of $preference!");
  mail("[email protected] ",
  "Visitor request for info.",
  "$name requested for information.n
  The email address is $email. n
  The visitor prefers $preference."
);
  ?>
  
  
  
   特別要注意的是: mail() 函數只有在 SENDMAIL 也安裝在服務器上的時候它才會工作。在大多數情況下, SENDMAIL 是同 PHP3.0 一起安裝的。但如果 mail() 函數不能工作,就應該檢查一下是否安裝了 SENDMAIL 。
  
     但是如果有很多人都發送了他們的表單,僅僅用上面的方法,是無法把這些信息一一保存的。或許,你想統計到底有多少人喜歡吃蘋果,多少人喜歡吃橘子。對於這類的任務,就有可能要用到數據庫來存貯這些數據了。 MySQL 可以說是現在最快的數據庫服務器之一,當你的應用對速度比較敏感的時候, MySQL 是一個比較好的選擇,而且,它與 PHP3.0 的兼容性也比較好。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved