線上訂購食物的PHP程式

Home Home
引用 | 編輯 vicky11
2007-01-14 00:57
樓主
推文 x0
表情
我要做一個能線上訂購食物的PHP程式,就是能寫一個表格,填上想要的數量以及訂購人姓名和E-MAIL(可以檢查信是否寄出去(!)),然後系統把訂單寄到我的信箱中。拜託各位大大幫我想辦法!!我實在寫不出來,而且上網找資料怎麼做也都做不出來,希望好心人能幫我做出來,如果能的話順便解釋給我!!!...........禮拜二以前要交出來0000Oo>_____<oO000

獻花 x0
引用 | 編輯 月光
2007-01-14 06:49
1樓
  
下面是引用vicky11於2007-01-14 00:57發表的 救人唷~~實在做不出來__線上訂購程式:
表情
我要做一個能線上訂購食物的PHP程式,就是能寫一個表格,填上想要的數量以及訂購人姓名和E-MAIL(可以檢查信是否寄出去(!)),然後系統把訂單寄到我的信箱中。拜託各位大大幫我想辦法!!我實在寫不出來,而且上網找資料怎麼做也都做不出來,希望好心人能幫我做出來,如果能的話順便解釋給我!!!...........禮拜二以前要交出來0000Oo>_____<oO000

略做了一個超簡單範例給您看...不過還是要說明一下本區是PHPwind 討論區...
基本上與非PHPwind的問題請勿至此發表 表情
不過竟然已經幫你略寫了程式...如果還有什麼需要修改的部分但您不會改在告訴我吧...

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>表單</title>
</head>
<body>
<form name='form' method='post' action='mail.php'>

姓名: <input type='name' name='name' size=ཐ'>
email: <input type='email' name='email' size=ཐ'>
數量: <input type='subject' name='subject' size=Ƌ'>


<input type='submit' name='Submit' value='確定送出'>
</form>
</body>
</html>

<?php
$mailTO = 'y2kwill2000@yahoo.com.tw' //請輸入您的mail

$message="姓名: $name\nemail: $email\n訂購數量: $subject\n";
$content="Date: ".Date("r")."\r\n";
$content.="To: <$mailTO>\r\n";
$content.="From: \"訂購通知:. <$email>\r\n";
$content.="Reply-To: $email\r\n";
$content."Mime-Version: 1.0\r\n";
$content."Content-Type: text/plain;\r\n";
$content."tcharset=big5\r\n";
$result=@mail($mailTO,$name.'的訂購通知',$message,$content);
if($result)
{
    echo "<script language='javascript'>";
    echo "alert('郵件寄出成功!');";
    echo "close();";
    echo "</script>";
} else {
    echo "<script language='javascript'>";
    echo "alert('郵件寄出失敗!');";
    echo "history.back();";
    echo "</script>";
}
?>


獻花 x1
引用 | 編輯 axdebnm
2007-01-22 01:40
2樓
  
建議可以增加一條MSDN中的控件,
clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11
很好用,可以顯示寄送者IP

解釋一下月光版主的PHP:
要作成兩個檔案喔
前HTML(名)一後PHP(mail.php),兩檔案,一個做前,填資料用,發送訊息SUBMIT後讀取後面的PHP
------------------------------------------------------------------------------------------------------
表單.HTM-
-----------------------------------------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>表單</title>
</head>
<body>
<form name='form' method='post' action='mail.php'>
姓名: <input type='name' name='name' size=ཐ'>
email: <input type='email' name='email' size=ཐ'>
數量: <input type='subject' name='subject' size=Ƌ'>
<input type='submit' name='Submit' value='確定送出'>
</form>
</body>
</html>
------------------------------------------------------------------------------------------------------
mail.php
------------------------------------------------------------------------------------------------------
<?php
$mailTO = 'y2kwill2000@yahoo.com.tw' //輸入您的mail
$message="姓名: $name\nemail: $email\n訂購數量: $subject\n";
$content="Date: ".Date("r")."\r\n";
$content.="To: <$mailTO>\r\n";
$content.="From: \"訂購通知:. <$email>\r\n";
$content.="Reply-To: $email\r\n";
$content."Mime-Version: 1.0\r\n";
$content."Content-Type: text/plain;\r\n";
$content."tcharset=big5\r\n";
$result=@mail($mailTO,$name.'的訂購通知',$message,$content);
if($result)
{
  echo "<script language='javascript'>";
  echo "alert('郵件寄出成功!');";
  echo "close();";
  echo "</script>";
} else {
  echo "<script language='javascript'>";
  echo "alert('郵件寄出失敗!');";
  echo "history.back();";
  echo "</script>";
}
?>

獻花 x0
引用 | 編輯 月光
2007-02-02 12:48
3樓
  
以下回覆axdebnm的問題
由於pm目前不得大於750個中文字所以回覆至此 表情

恩我利用 http://bbs.mychat.to/read.php?tid=24269 驗証碼插件修改了一下...請先下載該插件後...

php部分份改為

<?php
$mailTO = 'y2kwill2000@yahoo.com.tw' //輸入您的mail

$message="姓名: $name\nemail: $email\n訂購數量: $subject\n";
$content="Date: ".Date("r")."\r\n";
$content.="To: <$mailTO>\r\n";
$content.="From: \"訂購通知:. <$email>\r\n";
$content.="Reply-To: $email\r\n";
$content."Mime-Version: 1.0\r\n";
$content."Content-Type: text/plain;\r\n";
$content."tcharset=big5\r\n";

session_start();
if($_SESSION['result']!=md5($authnum)) {
    session_destroy();
    echo '驗証碼錯誤!'
} else {
    session_destroy();
    $result=@mail($mailTO,$name.'的訂購通知',$message,$content);
    if($result)
    {
        echo "<script language='javascript'>";
        echo "alert('郵件寄出成功!');";
        echo "close();";
        echo "</script>";
    } else {
        echo "<script language='javascript'>";
        echo "alert('郵件寄出失敗!');";
        echo "history.back();";
        echo "</script>";
    }
}
?>

HTM部分增加
驗証碼<input type=text maxLength=5 name=authnum size=5><img src='./authnum.php'>

即可...

獻花 x1
引用 | 編輯 axdebnm
2007-02-02 17:49
4樓
  
<table>
    <tbody>
    <tr>
      <td align="right"><font size="2">名稱:</font></td>
      <td><input maxLength="30" size="45" name="name" value="<?php echo $name;?>" size="2">
    </tr>
    <tr>
      <td align="right"><font size="2">信箱:</font></td>
      <td><input maxLength="50" size="45" name="email" value="<?php echo $email;?>" size="2">
    </tr>
    <tr>
      <td align="right"><font size="2">內容:</font></td>
      <td><textarea name="content" rows="9" wrap="true" cols="44" value="<?php echo $content;?>" size="800">輸入內容</textarea>
    </tr><tr>

<form name="form1" method="post" action="mail.php">
<table width="300" border="0" cellspacing="0" cellpadding="3">
</tr>
<tr><td valign=middle >請輸入驗証碼:<font color=red>*</font></td>
<td bgcolor=$forumcolorone><input type=text maxLength=7 name=authnum size=20><img src=./authnum.php></td></td></tr>

<tr>
  <td> </td>
  <td> </td>
</tr>
<tr>
  <td> </td>
  <td><input name="action" type="hidden" id="action" value="confirm">
    <input type="submit" name="Submit" value="確定">
----------------------------------------------------------------------------------------------
<?php
$mailto = "123@hotmail.com"; //設定你的信箱位置

session_start();
if($_SESSION['result']!=md5($authnum)) {
  session_destroy();
  echo '驗証碼錯誤!'
}

If ($name != true || $email != true):
  print "<script>alert('請輸入您的名稱、信箱!'); location.href= ('javascript:history.back();');</script>";Exit;
ElseIf(!Eregi(".+\@.+\\..+",$email)):
  print "<script>alert('信箱格式不對!'); location.href= ('javascript:history.back();');</script>";Exit;
ElseIf($content != true):
  print "<script>alert('內容要寫!'); location.href= ('javascript:history.back();');</script>";Exit;
EndIf;

<script language=\"JavaScript\">
alert(\"信件送出!\");
location.href= ('javascript:window.close();');
</script>";

$content = stripslashes($content);


$mailfrom = "From: $email";
$subject= "$title";
$body = "\n名稱: $name\n信箱: $email\n主題: $subject\n內容:\n-----------------------------------------------------------------------\n$content\n-----------------------------------------------------------------------\n";

mail ($mailto, $subject, $body, $mailfrom);

?>

----------------------------------------------------------------------------------------------------------------------------------不知道哪裡出錯了...請幫忙看一下^^"

獻花 x0
引用 | 編輯 月光
2007-02-03 03:50
5樓
  
下面是引用axdebnm於2007-02-2 17:49發表的 :
<table>
    <tbody>
    <tr>
      <td align="right"><font size="2">名稱:</font></td>
      <td><input maxLength="30" size="45" name="name" value="<?php echo $name;?>" size="2">
.......

由於這個程序當初是做給vicky11看的所以省略了很多判斷(因為只是範例呀)偷懶一下>"<而您的問題是加上認證碼這個功能所以我也是略作了一下而已...所以有些判斷我並沒有加上去...只讓程序能正常運行就交給您了...目前我還是使用我略寫的範本來修改以下是修改部分說明

if($_SESSION['result']!=md5($authnum)) { 是用來判斷認證碼是否正確的...如不正確則不往下執行這邊定義為(送出郵件動作)

而目前每開網頁就直接echo出(驗証碼錯誤!)是因為我偷懶沒做判斷,而剛進網頁這個表單時$authnum值為空所以程序當然echo出(驗証碼錯誤!)...只要驗證碼正確則不顯示(驗証碼錯誤!)所以...現在只要在 if($_SESSION['result']!=md5($authnum)) { 中加上一個判斷...就可以了我這邊使用$authnum的值是否為空來判斷是否已輸入驗證碼...修改後如下

if($authnum!='' && $_SESSION['result']!=md5($authnum)) {

這樣應該就行了另外就是測試...請您自行測驗
1.測試驗證碼輸入後是否正常送出郵件
2.測試驗證碼輸入錯誤是否echo出 '驗証碼錯誤!' 並且無送出郵件...

獻花 x1
引用 | 編輯 月光
2007-02-04 07:31
6樓
  
下面是引用axdebnm於2007-02-2 17:49發表的 :
<table>
    <tbody>
    <tr>
      <td align="right"><font size="2">名稱:</font></td>
      <td><input maxLength="30" size="45" name="name" value="<?php echo $name;?>" size="2">
.......

我已案造您的表單來修改完成了...如需要請下載附件
程式測試點: http://email.djorz.com/test.php

本帖包含附件
檔名: zip new_ok.rar   (2022-06-09 14:02 / 2 KB)  
pm 2:52 修正版
下載次數:92


獻花 x0
引用 | 編輯 skey6518
2007-03-01 11:39
7樓
  
請問要寄出要到我的信箱

是不是還需要設定什麼呢??

要不要設定smtp呢?

我現在有架設appserv了

OS=XP

獻花 x0
引用 | 編輯 月光
2007-03-01 16:04
8樓
  
下面是引用skey6518於2007-03-1 11:39發表的 :
請問要寄出要到我的信箱

是不是還需要設定什麼呢??

要不要設定smtp呢?
.......

你就把程式中的

$mailto = 'y2kwill2000@yahoo.com.tw'

改為自己的信箱就行了

獻花 x0
引用 | 編輯 skey6518
2007-03-02 04:23
9樓
  
另外我想請問的是

因我的os是xp,如果我想用xp寄信的話,要怎麼做或是安裝哪套程式才可以把信寄出去呢

我有上網去找資料,我有下載依套smartsmtp的軟體,不過我用了之後好像沒有用,不能寄信

所以知道的網友可以跟我說嘛?謝謝

獻花 x0
引用 | 編輯 billemail
2008-08-04 06:17
10樓
  
請教一下 此程式 當他寄送回的表單 只有


姓名:
email:
訂購數量:

並未有資料 如訂購數量 後面就沒了

這要如何解決

我是 掛在網站上的 繁體UTF-8版 discuz6.0
資料是寄回Yahoo

獻花 x0