Nasıl tek bir html formu kullanarak birden fazla eylemleri işlemek için

1 Cevap

Ben burada ne gerek yeterince açık olabilir umuyoruz. Ne var geliştiriyorum bir e-posta istemci uygulaması için bazı html içeren bir işlevdir. App bu kısmı cevap ve form "tüm cevap", ortak bir ileri kullanır. Hepsi temelde aynı olduğundan, ben yalın yol gitmek ve sadece bu işlemek için tek bir işlevi kullanmak düşündüm. Ben yukarıda bahsedilen 3 eylemler arasında görebilirsiniz tek gerçek fark tüm bir cevapta, formun CC kısmında birden fazla e-posta Addys orada olacağını vardır. Bir forvet için, hayır (cc) ve (to) kutu boş olmalıdır. Ben bu işlevlerin tümü temsil etmek gerekir ve ben tür yapmak için en iyi yolu nedir karıştı ediyorum. Herkes herhangi bir yardım sunabilir miyiz? Teşekkürler.

Ben kesinlikle html, ben sadece ışığı başlamak istedim gerekmemektedir edilir gönderebilirsiniz.

EDIT: I almost forgot, there will be POST values when the user submits the form in the event that the form validation fails.


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>&nbsp;</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>';
}

1 Cevap

EDIT: yayınlanmıştır kod örneği modifikasyonu (tüm farklı durumlarda eklememiş hatta sadece kavramı gösteren, gerçekten çıktı değişti - Tüm bu burada Cevap türü ve 'için' POST değeri için çek bir çek .)

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>';
}

(Original inquiry) Is this function processing the results of the form, or is it displaying the form in the first place? Your question is a bit unclear about which point in the process you're talking about.