作者 主題: 新手 - 表單只POST出最後一項在郵件中  (閱讀 3395 次)

0 會員 與 1 訪客 正在閱讀本文。

miffy

  • 可愛的小學生
  • *
  • 文章數: 8
    • 檢視個人資料
使用mb_send_mail, 原本表單填上 $_POST['ChName']  $_POST['EngName']  $_POST['F']後按送出, 都有POST在郵件中
完成程式後, 反而表單永遠只POST最後一項在郵件中
例如 下面的 Special Notes 或 Airport Pickup 最後哪項表單上有填就只POST那一項
請問是哪裡出問題呢? @_@

<?php
$To="xxx@bestedu.com.tw";
$Subject .= 'Register for English Course: ' . " " . $_POST['ChName'] . " " . $_POST['EngName'];
$headers = "From: xxx@bestedu.com.tw\r\n";
$Body ="A student has registered for English course!\nHere are the info:\n ";
$Body .= 'Chinese Name: ' . $_POST['ChName'] . "\r\n";
$Body .= 'English Name: ' . $_POST['EngName'] . "\r\n";
$Body .= $_POST['M'] . "\r\n";
$Body .= $_POST['F'] . "\r\n";
$Body .= 'Birthday: ' . $_POST['year'];
$Body .= ' Month: ' . $_POST['month'];
$Body .= ' Day: ' . $_POST['day'] . "\r\n";
$Body .= 'Address: '. $_POST['address'] . "\r\n";
$Body .= 'Home: ' . $_POST['homePhone'] . "\r\n";
$Body .= 'Office: ' . $_POST['OfficePhone'] . "\r\n";
$Body .= 'Cell: ' . $_POST['Cell'] . "\r\n";
$Body .= 'Email:' . $_POST['Email'] . "\r\n";
$Body .= 'School: ' . $_POST['school'];
$Body .= '  Country: ' . $_POST['country'] . "\r\n";
$Body .= 'Course: ' . $_POST['course'] . "\r\n";
$Body .= 'Weeks: ' . $_POST['weeks'] . "\r\n";
$Body .= 'Start Date Year: ' . $_POST['yearStart'];
$Body .= ' Month: ' . $_POST['monthStart'];
$Body .= ' Day ' . $_POST['dayStart'] . "\r\n";
$Body .= 'Course 2: ' . $_POST['course2'] . "\r\n";
$Body .= 'Weeks: ' . $_POST['weeks2'] . "\r\n";
$Body .= 'Start Date Year: ' . $_POST['yearStart2'];
$Body .= ' Month: ' . $_POST['monthStart2'];
$Body .= ' Day: ' . $_POST['dayStart2'] . "\r\n";
$Body .= 'Course 3: ' . $_POST['course3'] . "\r\n";
$Body .= 'Weeks: ' . $_POST['weeks3'] . "\r\n";
$Body .= 'Start Date Year: ' . $_POST['yearStart3'];
$Body .= ' Month: ' . $_POST['monthStart3'];
$Body .= ' Day: '. $_POST['dayStart3'] . "\r\n";

$Body = "I plan to attend:\r\n";
$Body .= $_POST['junior'] . "\r\n";
$Body .= $_POST['skillSchool'] . "\r\n";
$Body .= $_POST['college'] . "\r\n";
$Body .= $_POST['master'] . "\r\n";
$Body .= $_POST['phd'] . "\r\n";

$Body = "Accomondation:\n";
$Body .= $_POST['homestay'] . "\r\n";
$Body .= $_POST['offCampus'] . "\r\n";
$Body .= $_POST['onCampus'] . "\r\n";
$Body .= $_POST['friends'] . "\r\n";

$Body = "Special Notes:\r\n";
$Body .= $_POST['smoke'] . "\r\n";
$Body .= $_POST['pets'] . "\r\n";
$Body .= $_POST['allegy'] . "\r\n";
$Body .= $_POST['kids'] . "\r\n";
$Body .= $_POST['medicine'] . "\r\n";
$Body .= $_POST['vegetarian'] . "\r\n";
$Body .= $_POST['others'] . "\r\n";

$Body = "Airport Pickup:\r\n";
$Body .= $_POST['yes'];
$Body .= $_POST['no'] ;


echo "註冊成功!";

mb_internal_encoding('utf-8');
mb_send_mail($To,$Subject,$Body, $headers);


?>


Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: 新手 - 表單只POST出最後一項在郵件中
« 回覆 #1 於: 2009-10-22 22:24 »
使用mb_send_mail, 原本表單填上 $_POST['ChName']  $_POST['EngName']  $_POST['F']後按送出, 都有POST在郵件中
完成程式後, 反而表單永遠只POST最後一項在郵件中
例如 下面的 Special Notes 或 Airport Pickup 最後哪項表單上有填就只POST那一項
請問是哪裡出問題呢? @_@

<?php
$To="xxx@bestedu.com.tw";
$Subject .= 'Register for English Course: ' . " " . $_POST['ChName'] . " " . $_POST['EngName'];
$headers = "From: xxx@bestedu.com.tw\r\n";
$Body ="A student has registered for English course!\nHere are the info:\n ";
$Body .= 'Chinese Name: ' . $_POST['ChName'] . "\r\n";
$Body .= 'English Name: ' . $_POST['EngName'] . "\r\n";
$Body .= $_POST['M'] . "\r\n";
$Body .= $_POST['F'] . "\r\n";
$Body .= 'Birthday: ' . $_POST['year'];
$Body .= ' Month: ' . $_POST['month'];
$Body .= ' Day: ' . $_POST['day'] . "\r\n";
$Body .= 'Address: '. $_POST['address'] . "\r\n";
$Body .= 'Home: ' . $_POST['homePhone'] . "\r\n";
$Body .= 'Office: ' . $_POST['OfficePhone'] . "\r\n";
$Body .= 'Cell: ' . $_POST['Cell'] . "\r\n";
$Body .= 'Email:' . $_POST['Email'] . "\r\n";
$Body .= 'School: ' . $_POST['school'];
$Body .= '  Country: ' . $_POST['country'] . "\r\n";
$Body .= 'Course: ' . $_POST['course'] . "\r\n";
$Body .= 'Weeks: ' . $_POST['weeks'] . "\r\n";
$Body .= 'Start Date Year: ' . $_POST['yearStart'];
$Body .= ' Month: ' . $_POST['monthStart'];
$Body .= ' Day ' . $_POST['dayStart'] . "\r\n";
$Body .= 'Course 2: ' . $_POST['course2'] . "\r\n";
$Body .= 'Weeks: ' . $_POST['weeks2'] . "\r\n";
$Body .= 'Start Date Year: ' . $_POST['yearStart2'];
$Body .= ' Month: ' . $_POST['monthStart2'];
$Body .= ' Day: ' . $_POST['dayStart2'] . "\r\n";
$Body .= 'Course 3: ' . $_POST['course3'] . "\r\n";
$Body .= 'Weeks: ' . $_POST['weeks3'] . "\r\n";
$Body .= 'Start Date Year: ' . $_POST['yearStart3'];
$Body .= ' Month: ' . $_POST['monthStart3'];
$Body .= ' Day: '. $_POST['dayStart3'] . "\r\n";

$Body = "I plan to attend:\r\n";
$Body .= $_POST['junior'] . "\r\n";
$Body .= $_POST['skillSchool'] . "\r\n";
$Body .= $_POST['college'] . "\r\n";
$Body .= $_POST['master'] . "\r\n";
$Body .= $_POST['phd'] . "\r\n";

$Body = "Accomondation:\n";
$Body .= $_POST['homestay'] . "\r\n";
$Body .= $_POST['offCampus'] . "\r\n";
$Body .= $_POST['onCampus'] . "\r\n";
$Body .= $_POST['friends'] . "\r\n";

$Body = "Special Notes:\r\n";
$Body .= $_POST['smoke'] . "\r\n";
$Body .= $_POST['pets'] . "\r\n";
$Body .= $_POST['allegy'] . "\r\n";
$Body .= $_POST['kids'] . "\r\n";
$Body .= $_POST['medicine'] . "\r\n";
$Body .= $_POST['vegetarian'] . "\r\n";
$Body .= $_POST['others'] . "\r\n";

$Body = "Airport Pickup:\r\n";
$Body .= $_POST['yes'];
$Body .= $_POST['no'] ;


echo "註冊成功!";

mb_internal_encoding('utf-8');
mb_send_mail($To,$Subject,$Body, $headers);
?>

檢查一下是不是該有點的地方少了點..

miffy

  • 可愛的小學生
  • *
  • 文章數: 8
    • 檢視個人資料
回覆: 新手 - 表單只POST出最後一項在郵件中
« 回覆 #2 於: 2009-10-22 23:00 »
是否有行數限制?
$Body = "I plan to attend:\r\n"; 以上都可以出現 加入這行之後就只出現一行了..


Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: 新手 - 表單只POST出最後一項在郵件中
« 回覆 #3 於: 2009-10-22 23:19 »
是否有行數限制?
$Body = "I plan to attend:\r\n"; 以上都可以出現 加入這行之後就只出現一行了..


不是說了檢查看看是否哪裡少了嗎!!

miffy

  • 可愛的小學生
  • *
  • 文章數: 8
    • 檢視個人資料
回覆: 新手 - 表單只POST出最後一項在郵件中
« 回覆 #4 於: 2009-10-22 23:35 »
成功了! 不加點點會overwrite 原來是這樣

謝謝囉! ^^

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: 新手 - 表單只POST出最後一項在郵件中
« 回覆 #5 於: 2009-10-22 23:40 »
成功了! 不加點點會overwrite 原來是這樣

加 $_POST 資料的地方都有加點, 為何這幾行卻不加呢?
要不然就用不同的變數, 最後再將所有變數串接起來

miffy

  • 可愛的小學生
  • *
  • 文章數: 8
    • 檢視個人資料
回覆: 新手 - 表單只POST出最後一項在郵件中
« 回覆 #6 於: 2009-10-23 01:19 »
妳真厲害 看出我的思考錯誤 我是以為只有$POST才要加 不是手誤!

ricky

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 669
    • 檢視個人資料
    • Ricky 碎碎唸
回覆: 新手 - 表單只POST出最後一項在郵件中
« 回覆 #7 於: 2009-10-23 09:57 »
妳真厲害 看出我的思考錯誤 我是以為只有$POST才要加 不是手誤!
建議樓主請先找本書搞清楚php的基本運算子是作啥用的
不然程式這樣用猜的也不是辦法吧
我的symfony作品:YOMOpets 寵物誌
有興趣可以一起來討論symfony喔
我的部落格:http://ricky.ez2.us/

miffy

  • 可愛的小學生
  • *
  • 文章數: 8
    • 檢視個人資料
回覆: 新手 - 表單只POST出最後一項在郵件中
« 回覆 #8 於: 2009-10-23 12:32 »
有推荐的書嗎? 我買的是趙英傑的碼上就會 很不好用

這麼多書 很不好挑 我是挑了很久才買的 唉 還要花錢再買一本 很嘔

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: 新手 - 表單只POST出最後一項在郵件中
« 回覆 #9 於: 2009-10-23 14:17 »
有推荐的書嗎? 我買的是趙英傑的碼上就會 很不好用

這麼多書 很不好挑 我是挑了很久才買的 唉 還要花錢再買一本 很嘔
我找找看有沒有不看的,找時間丟上來