2011-03-06 28 views
0
<select name="template" id="template"> 
     <option value="none">Don't use template</option> 
     <option value="RWT">Report Abuse</option> 
     <option value="renew">Resend Email Codes</option> 
    </select><br/> 
    <textarea name="body" rows="10" id="content" value="<?php echo $body;?>"ondblclick="select_all('content');" cols="40"></textarea><br/> 

....PHP負載<option>數據到<textarea>

else if ($template == "renew") { 
     $body = "Dear $username,<br/></br/>"; 
     $body .= "Here is your requested activation code: $activationID <br/><br/>"; 
     $body .= "Thank you.<br/>"; 
    } 

當我選擇選項 「更新」,它不會將數據加載到我的textarea。如何在textarea中加載選項數據?

回答

5

它去textarea標籤中:

<textarea name="body" rows="10" id="content" ondblclick="select_all('content');" cols="40"> 
    <?php echo $body;?> 
</textarea> 

更新:如在評論tacone提到,echo htmlspecialchars($body)會更好,因爲它做的事情以正確的方式 - 在這種特定的情況下,有將沒有什麼區別,但除非你這樣做,否則你的應用程序將容易受到XSS攻擊。

+0

echo htmlentities($ body)會更好。 – tacone 2011-03-06 13:14:10

+1

@tacone:'htmlspecialchars($ body)'會更好:) – Jon 2011-03-06 13:18:56

+0

或者可能是filter_var()。讓我們讓XSS預防火焰戰爭開始:-) – tacone 2011-03-06 13:26:12

0

嘗試將模板和主體變量回顯到您的頁面進行調試。他們的價值是什麼?

1

您不設置textarea的值 - 您只需在一對textarea元素中插入所需內容即可。例如:

<textarea name="body" id="content" ondblclick="select_all('content');" rows="10" cols="40"> 
<?php echo $body; ?> 
</textarea> 
+0

現在這種工作,但我必須重新加載頁面,以便它顯示在textarea內。當我選擇一個選項以加載到textarea中時,如何使頁面重新加載? – Kyle 2011-03-06 13:31:01