Надеюсь, я могу быть достаточно ясным в том, что мне нужно здесь. У меня есть функция, которая содержит некоторый html для почтового клиентского приложения, которое я разрабатываю. Эта часть приложения использует общую форму форварда, ответа и «ответ на все». Поскольку все они в основном одинаковы, я решил, что я пойду на худой маршрут и просто использую одну функцию, чтобы справиться с этим. Единственные реальные различия, которые я вижу между тремя действиями, упомянутыми выше, заключаются в том, что в ответ на все в CC-части формы будет много аддиров электронной почты. Для форварда поле no (cc) и (to) должно быть пустым. Мне нужно представить всю эту функциональность, и я немного смущен тем, что лучший способ сделать это. Может ли кто-нибудь предложить любую помощь? Благодарю.
Я могу, конечно, разместить html, это нужно, я просто хотел начать свет.
EDIT: я почти забыл, будут значения POST, когда пользователь отправит форму в случае неудачной проверки формы.
function compose($type,$contents=null) { echo' <tr> <td> <tr> <td valign="top"> <form method="post" action=""> <table width="100%" cellpadding="0" cellspacing="0" border="0" id="reply"> <tr> <td><h2>'.$type.'</h2></td> </tr> <tr> <td width="1%" valign="top" nowrap><b>To:</b><br><input name="to" id="focus" title="Enter a single system user here" value="" type="text" size="64"></td> </tr> <tr> <td nowrap><b>Cc:</b><br><input name="cc"" value="" type="text" size="64"></td> </tr> <tr> <td nowrap><b>Subject:</b><br><input name="subject" title="Enter your subject here" value="" type="text" size="64" maxlength="30"></td> </tr> <tr> <td valign="top"><b>Message:</b><br><textarea name="message" title="Enter your message here" rows="5" cols="50" wrap="virtual"></textarea></td> </tr> <tr> <td> </td> </tr> <tr> <td><input type="hidden" name="id" value=""><input type="submit" name="send" value="Send"></td> </tr> </table> </form> </td> </tr> </td> </tr>'; }
EDIT: Пример модификации опубликованного кода (я не добавил все разные случаи или даже изменил вывод на самом деле, просто показывая концепцию – все, что здесь, является проверкой типа ответа и проверкой значения «до» POST .)
function compose($type,$contents=null) { $toValue = ''; if(isset($_POST['to'])) { // Might want to actually validate this to prevent XSS, but this is just a basic example $toValue = $_POST['to']; } echo' <tr> <td> <tr> <td valign="top"> <form method="post" action=""> <table width="100%" cellpadding="0" cellspacing="0" border="0" id="reply"> <tr> <td><h2>'.$type.'</h2></td> </tr>'; if($type == "Reply") { echo' <tr> <td width="1%" valign="top" nowrap><b>To:</b><br><input name="to" id="focus" title="Enter a single system user here" value="' . $toValue . '" type="text" size="64"></td> </tr> <tr> <td nowrap><b>Cc:</b><br><input name="cc"" value="" type="text" size="64"></td> </tr>'; } echo' <tr> <td nowrap><b>Subject:</b><br><input name="subject" title="Enter your subject here" value="" type="text" size="64" maxlength="30"></td> </tr> <tr> <td valign="top"><b>Message:</b><br><textarea name="message" title="Enter your message here" rows="5" cols="50" wrap="virtual"></textarea></td> </tr> <tr> <td> </td> </tr> <tr> <td><input type="hidden" name="id" value=""><input type="submit" name="send" value="Send"></td> </tr> </table> </form> </td> </tr> </td> </tr>'; }
(Исходный запрос) Эта функция обрабатывает результаты формы или отображает форму в первую очередь? Ваш вопрос немного неясен о том, в каком месте процесса, о котором вы говорите.