作者SyaoranX (小狼)
看板Web_Design
標題[問題] 有關textarea問題
時間Thu Dec 6 19:06:45 2007
我在做一個線上電子報系統,架構如下
index.htm --(POST傳遞)--> mailcheck.php --(POST傳遞)-->mail.php
(含有form) 檢查輸入、output預覽 寄送郵件(mail func)
我碰到的問題是…
因為在mailcheck.php要把寄出的電子報輸出預覽,而又要post傳給mail.php
所以我的做法是在mailcheck開一個form,裡面的欄位都設成hidden,但是問題來了
如果我在index.htm裡面有個textarea,我目前是用
[code]
<div style='visibility:hidden;'><textarea name="context" value="<?echo
$msg;?>"> </textarea></div>
[/code]
這個方法把textarea隱藏。但是,當我傳到mail.php的時候,原本輸入含html語法的
資料會出問題。
如我輸入:
[code]
<p align="center">test</p>
<h1 align="right">Titile</h1>
<font color="blue">Blue color</font>
[/code]
我在mailcheck.php看到的html碼為:
[code]
<div style='visibility:hidden;'><textarea name="context" value="
<p align=\"center\">test</p>
<h1 align=\"right\">Titile</h1>
<font color=\"blue\">Blue color</font>"> </textarea></div>
[/code]
仔細看看括號的匹配並沒有什麼問題,但是傳到mail.php時,我用以下語法echo
[code]
$msg=stripslashes($_POST["context"]);
echo "====<br> ".stripslashes($msg)." <br> ====";
[/code]
卻變成了
[code]
====<br> test</p>
<h1 align="right">Titile</h1>
<font color="blue">Blue color</font>"> <br> ====
[/code]
第一行的<p align=\"center\">被吃掉了
最後一行多出了">
不知道這樣用textarea好不好…
我也試過把textarea的value改成單引號:value='...'
但是這樣好像就沒辦法把資料傳給下一個網頁
不知道有沒有什麼好方法解決?或是能不能不用textarea傳?
感謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.118.132
推 forkome:有個小疑問,這邊指的預覽是不是只有語法上的預覽呢? 12/06 19:42
推 SyaoranX:是的樓上^^"。因為顯示出來會多「">」看html才發現原因 12/06 21:34