2012-10-10 23 views
0

我提交的表單首先將數據輸入到數據庫中,然後編寫來自表單字段的消息。我想要的功能是,如果用戶重新提交表單(2或3次),應該有三個消息在同一個變量中組成?如何連接郵件

下面

就是我如何創建我的消息變量

if(isset($_REQUEST['save'])){ 
$mesg = "<strong>Logging Off at </strong> " . date("d F Y h:i:s A"); 
$mesg .= "<BR><BR>"; 
$mesg .= "<strong>Project</strong>: " . $prj_name; 
$mesg .= "<BR>"; 
$mesg .= "<strong>Deliverable</strong>: ". $dlvrbl_name; 


$mesg .= "<BR>"; 
$mesg .= "<strong>Time spent</strong>: " . $time_spent; 
$mesg .= "<BR>"; 
$mesg .= "<strong>Percentage</strong>: " . $percent . "%"; 
$mesg .= "<BR>"; 
$mesg .= "<strong>Comments</strong>: " . $comments; 
$mesg .= "<BR><BR>"; 
$mesg .= "Regards,<BR>".$employee; 
} 

其工作正常,爲1次表單提交,但如果我需要在同一個變量2倍或3的消息是什麼? 在此先感謝

+0

你所說的2級或3的消息在同一個變量 – Baba

+0

我的意思是,如果一個消息是由然後用戶重新提交表單的意思是,應該有2條消息。希望我已經清除了我的觀點 – baig772

+0

最好是看到你的完整代碼 – Baba

回答

1

可以使用session variable,例如$_SESSION['log']

session_start(); 

// ... 

if (isset($_REQUEST['save'])) { 
    $message = isset($_SESSION['log']) ? $_SESSION['log'] . '<br>' : ''; 
    $message .= "<strong>Logging Off at </strong> " . date("d F Y h:i:s A"); 
    // ... 
    $_SESSION['log'] = $message; 
} 
1

如何使用計數器使用數組?

$i = 0; 
$mesg[$i] = "<strong>Logging Off at </strong> " . date("d F Y h:i:s A"); 
$mesg[$i] .= "<BR><BR>"; 
$mesg[$i] .= ... 

然後下一個消息:

$i++; 
$mesg[$i] = "<strong>Logging Off at </strong> " . date("d F Y h:i:s A"); 
$mesg[$i] .= "<BR><BR>"; 
$mesg[$i] .= ... 

當您完成後,您可以使用implode或操縱它,你怎麼想。

此外,我會建議您使用<br />而不是<br>,並根據應用程序,所有您可能需要的是一個新行\n

+0

以及在這種情況下如果我不知道表單將被提交多少次?我的意思是無限的消息,我必須給索引號碼嗎? – baig772

+0

@ baig772您可以使用一個以'$ i = 0;'開始的簡單計數器,然後在添加新值之前添加新消息('$ i ++')。看我的編輯。 – Kermit

+0

每次我提交表單時,'$ i'的值都是一樣的:( – baig772

相關問題