明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

一個容易的自動發(fā)送郵件系統(tǒng)(二)

[摘要]這里介紹php和mysql結合起來實用。 基本上,可以說php是介于后臺數(shù)據(jù)庫和前臺瀏覽器的一個中間層,在他們之間傳遞命令。這種方式大大提高了交互的可能性,可以方便使用在投票系統(tǒng),其他動態(tài)用戶輸入和個性化網(wǎng)站中。 要想實現(xiàn)這種交互,首先必需實現(xiàn)和mysql數(shù)據(jù)庫連接,可以使用這個命...
這里介紹php和mysql結合起來實用。

    基本上,可以說php是介于后臺數(shù)據(jù)庫和前臺瀏覽器的一個中間層,在他們之間傳遞命令。這種方式大大提高了交互的可能性,可以方便使用在投票系統(tǒng),其他動態(tài)用戶輸入和個性化網(wǎng)站中。

    要想實現(xiàn)這種交互,首先必需實現(xiàn)和mysql數(shù)據(jù)庫連接,可以使用這個命令實現(xiàn):
    語法:int mysql_connect(string hostname, string username, string password);  

    ·hostname - 運行數(shù)據(jù)庫服務器所在的主機名稱。
    ·username - 連接到數(shù)據(jù)庫服務器的用戶名稱。
    ·Password - 用戶密碼。the password set to connect to the MySQL database.  
     如果連接成功,函數(shù)返回一個正整數(shù),如果失敗返回一個負數(shù)。

     所有的命令,和往常一樣,必需放置在"<?" 和 "?>"之間。
       
     讓我們繼續(xù)我們的工程,讓我們假設用MySQL建立了以下的數(shù)據(jù)表:

----------------------------    
  
mysql> CREATE TABLE information (
    -> name VARCHAR (25),
    -> email VARCHAR (25),    
    -> choice VARCHAR (8) );

----------------------------    

    現(xiàn)在讓我們假設我們要吧用戶的信息插入到這個數(shù)據(jù)庫中,我們可以通過修改email.php3腳本來實現(xiàn),修改如下:

----------------------------    

<?
/* 這個腳本將使用從moreinfo.html文件中傳遞過來的變量。 */

/* 聲明一些相關的變量 */

$hostname = "devshed";
$username = "myusername";
$password = "mypassword";
$dbName = "mydbname";

/* 使用MySQL建立的數(shù)據(jù)表存取信息  */
$userstable = "information";

/* 網(wǎng)站管理員的郵件地址*/
$adminaddress = "administration@buycorn.com";

/* 與數(shù)據(jù)庫連接*/
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Unable to connect to database");

@mysql_select_db("$dbName") or die("Unable to select database");  

PRINT "<CENTER>";
PRINT "Hello, $name.";
PRINT "<BR><BR>";
PRINT "Thank you for your interest.<BR><BR>";
PRINT "We will send information to $email, and have noted that you like $preference";
PRINT "</CENTER><BR><BR>";

/* 發(fā)送有關郵件*/
mail("$email", "Your request for information",
"$namenThank you for your interest!n
We sell fresh corn daily over the Internet!
Place your order  at http://www.buycorn.com,
and receive a free package of $preference!");

mail("$adminaddress",
"Visitor request for info.",
"$name requested for information.n

The email address is $email. n The visitor prefers $preference.");

/* 將數(shù)據(jù)插入數(shù)據(jù)表中*/
$query = "INSERT INTO $userstable VALUES('$name','$email', '$preference')";
$result = MYSQL_QUERY($query);

PRINT "Your information has also been inserted into our database, for future reference.";

/* 關閉與數(shù)據(jù)庫的連接*/
MYSQL_CLOSE();
?>

----------------------------    

一些注意的地方:

1、在腳本一開始聲明的變量是為了函數(shù)MYSQL_CONNECT() 。我們也可以直接在函數(shù)中將這些值給出,可是,考慮工程的可發(fā)展性,這些值應該放在一個獨立的文件中,用(#include)調入。
2、語法: int mysql_select_db(string database_name, int link_identifier);
·database_name  必需是在服務器上的數(shù)據(jù)庫名。
·link_identifier(可選的) 是指明連接,基于此向數(shù)據(jù)庫服務器發(fā)出請求。
·返回值為true/false
3、語法: int mysql_query(string query, int link_identifier);
·query  發(fā)送向mysql服務器的sql命令。
·link_identifier(可選擇)  指明連接,基于此向數(shù)據(jù)庫服務器發(fā)送sql命令。
·返回值為整數(shù),正數(shù)表示成功了,負數(shù)表示失敗。
4、語法: int mysql_close(int link_identifier);  
·link_indentifier  與上面相同
·返回值為整數(shù),正數(shù)表示成功了,負數(shù)表示失敗。

在下一篇文章中,我將給大家講解如何從mysql中輸出數(shù)據(jù)。