php内部邮件系统

时间:2011-01-06 22:38:32

标签: php

如果可能的话,我正在寻找一些建议。 PHP不是我写的主要语言。它通常是带有C#的asp.net但是我帮助了一个网站的朋友并且他们要求php。

我为他们创建了一个内部邮件系统。我有一个收件箱页面,每个记录都有一个勾选框。目前,您可以勾选多个方框,然后通过提交表单删除所选记录。我的朋友要求提供另一个按钮,可以单击该按钮将所选电子邮件标记为已读(如电子邮件收件箱)。我不确定如何执行此操作,因为我知道只需在表单中添加另一个提交按钮即可将其他内容称为“无法工作”。道歉,我不确定我是否能很好地解释自己。

撰写     
         
    

<小时/>              
      $query ="Select im.ID, first_name, last_name, sender_ID, createddate, recipient_ID, read_mail, subject from internal_mail im join characters  c on im.sender_ID = c.ID where im.recipient_name like '%".$character[first_name] . " " . $character[last_name]  ."%' and im.active = 1";

      $results = mysql_query($query);

      $rows_events = mysql_num_rows($results);

      if($rows_events != 0){

      ?>
    <table>
        <tr>
            <td></td>
            <td width="200">
                From
            </td>
            <td width="150">
                Subject
            </td>
            <td>
                Date Sent
            </td>
        </tr>
        <tr>


    <?
        $r = 0;

        while ($r < $rows_events){

                $read = mysql_result($results, $r , "read_mail");
                $ID = mysql_result($results, $r , "ID");
                $first_name = mysql_result($results, $r , "first_name");
                $last_name = $sender_ID = mysql_result($results, $r , "last_name");
                $subject = mysql_result($results, $r , "subject");
                $createddate = mysql_result($results, $r , "createddate");;

                echo "<tr>";
                echo "<td><input type='checkbox' name='"  . $ID  . "'/></td>";
                echo "<td>";
                echo $first_name . " " . $last_name;
                echo "</td>\n";
                echo "<td>";
                if($read == 0){
                    echo"<b><a href=read.php?message_ID=" . $ID . ">" .$subject . "</b></a>";
                }else{
                    echo"<a href=read.php?message_ID=" . $ID . ">" .$subject . "</a>";
                }
                echo "</td>\n";
                echo "<td>".$createddate ."</td>\n";
                echo "</tr>\n";

                $r ++;

        }
    ?>

        </tr>
    </table>
    <input type="submit" name="delete" value="Delete" />
</form>
<?

}else{

    echo "You currently have no mail in your inbox :(";

}

如果有人能指出我对这类事情的教程方向,我将不胜感激,我已经对谷歌进行了一些调查并且发现了很多。

2 个答案:

答案 0 :(得分:6)

您可以添加其他提交:

<input type="submit" name="delete" value="Delete" />
<input type="submit" name="mark" value="Mark it" />

在php中只检查哪一个被提交

    if(isset($_POST['mark'])){
        //mark stuff
    }else if(isset($_POST['delete'])){
        //delete stuff
    }else{
        //some other stuff
    }

答案 1 :(得分:0)

如果您有任何选择,请查看它们是否可修改为切换到google apps.

如果这不是一个选项,请考虑安装squirrelmail

如果这不是一个选项,那么你可能想看看添加一个AJAX-ified按钮来处理你的“标记为读取”动作并在后台处理该标记。但最好的方法是使用其他人已经完全开发的东西,并且比从头开始编写自己的电子邮件界面更具弹性...