• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 222
  • Last Modified:

PHP Mail code problem and other help needed...

Below is code from past EE question, just modified to my desires.  There seems to be a problem when I send, specifically around the subject, I believe that is why I am getting the "could not send mail, an error occured" message.  As soon as I modified (figures) it failed.  It worked fine before I messed with it.  I believe it is around the "subject", as evenutally I want it to be "Message from Tom Jones", where Tom Jones is "fromname" from user input.

Plan is to use this as a simple "tell a friend" function and also need to have loop for up to 5 friends, also if Friend2 "name" is there and not Friend2 "email", it should flag as such.  Lastly, how can I prevent spammers, maybe time function?  

This code is part of Diablo84

<HTML>
<HEAD>
<TITLE>formpage</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

</HEAD>
<BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>

<?php
if (isset($_POST['submit'])) {
 if (empty($_POST['toname']) || empty($_POST['tomail']) || empty($_POST['fromname']) || empty($_POST['frommail']) || empty($_POST['message'])) {
  echo "all fields must be completed<br>\n";
 }
 else {
  $to  = $_POST['tomail'];
  $subject = $_POST['subject'];
  $message = $_POST['message'];
  $headers = "To: ".$_POST['toname']." <".$_POST['tomail'].">\r\n";
  $headers .= "From: ".$_POST['fromname']." <".$_POST['frommail'].">\r\n";
  mail($to, $subject, $message, $headers) or die("could not send mail, an error occured");
  echo "mail sent<br>\n";
 }
}
?>


<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="mail">
<input type="HIDDEN" name="subject" value="ID HERE">
      <div align="center">
  <table border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="FFFFFF" style="border: 1pt solid #001b6e; width: 525px;" nof="LY">
    <tr valign="TOP" align="LEFT">
      <td width="100%">
<br><b><font size="-2" face="Verdana">&nbsp;&nbsp;*Note: </font></b><font size="-2" face="Verdana">
&nbsp;&nbsp;Tell Your Friends.<br>
                  </font>

<div align="center">
<table width="520" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
<table border="0" cellpadding="0" cellspacing="0" width="97%">
  <tr>
      <td width="100%"><font face="Arial"><font size="-1">&nbsp;&nbsp;Your Name:&nbsp;</font>
      <input type="TEXT" name="fromname" value size="24" maxlength="30" value="<?php if(isset($_POST['fromname'])) { echo $_POST['fromname']; } ?>"></font></td></tr>
  <tr>
      <td width="100%"><font face="Arial"><font size="-1">&nbsp;&nbsp;Your Email:&nbsp;</font>
      <input type="TEXT" name="frommail" value size="24" maxlength="50" value="<?php if(isset($_POST['frommail'])) { echo $_POST['frommail']; } ?>"></font></td>
  </tr>
</table></td>
      <td><font face="Arial">
      <textarea wrap="PHYSICAL" id="textarea" name="message" rows="4" cols="27" value=""><?php if(isset($_POST['message'])) { echo $_POST['message']; } ?></textarea></font>
</td></tr></table>
</div>
<div align="left">
<table id="Table1" border="0" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111">
   <tr>
      <td width="117"> <p>&nbsp;</p></td>
      <td width="158"> <p><font face="Arial" size="-1"><b>Name</b></font></p></td>
      <td width="228"> <p><font face="Arial" size="-1"><b>Email</b></font></p></td></tr>
   <tr>
      <td width="117" align="right"> <p><font face="Arial" size="2">Friend 1&nbsp;</font></p></td>
      <td width="158"> <p><font face="Arial">
      <input type="TEXT" name="toname" value size="20" maxlength="50" value="<?php if(isset($_POST['toname'])) { echo $_POST['toname']; } ?>"></font></td>
      <td width="228"> <p><font face="Arial">
      <input type="TEXT" name="tomail" value size="20" maxlength="50" value="<?php if(isset($_POST['tomail'])) { echo $_POST['tomail']; } ?>"></font></td></tr>
   <tr>
      <td width="117" align="right"> <p><font face="Arial" size="2">Friend 2&nbsp;</font></p></td>
      <td width="158"> <p><font face="Arial">
      <input type="TEXT" name="name2" value size="20" maxlength="50"></font></td>
      <td width="228"> <p><font face="Arial">
      <input type="TEXT" name="email2" value size="20" maxlength="50"></font></td></tr>
   <tr>
      <td width="117" align="right"> <p><font face="Arial" size="2">Friend 3&nbsp;</font></p></td>
      <td width="158"> <p><font face="Arial">
      <input type="TEXT" name="name3" value size="20" maxlength="50"></font></td>
      <td width="228"> <p><font face="Arial">
      <input type="TEXT" name="email3" value size="20" maxlength="50"></font></td></tr>
   <tr>
      <td width="117" align="right"> <p><font face="Arial" size="2">Friend 4&nbsp;</font></p></td>
      <td width="158"> <p><font face="Arial">
      <input type="TEXT" name="name4" value size="20" maxlength="50"></font></td>
      <td width="228"> <p><font face="Arial">
      <input type="TEXT" name="email4" value size="20" maxlength="50"></font></td></tr>
</table>
</div>
         
<table width="100%" border="0" cellspacing="0" cellpadding="0" nof="TE" height="4">
   <tr>
      <td align="center" height="4"><br><font face="Arial">
      <input name="submit" type="submit" value="Send to Friends!"></font>
</td></tr></table>
</td></tr></table>
</div>
</form>




</BODY>
</HTML>
0
precision
Asked:
precision
  • 8
  • 7
1 Solution
 
precisionAuthor Commented:
Ok, figured out part 1 with "could not send mail, an error occured", the from HAS to be domain of server, otherwise it fails, make sense?  I wound up doing that and it worked....any ideas on my other issues?
0
 
Khanh DoanSenior DeveloperCommented:
I think you can't send it because your localhost doesn't have mailserver. I upload your code to my host and it works.
Bonmat86.
0
 
precisionAuthor Commented:
I solved part 1, I found out it needed actual domain of the server to send the mail, which is just fine....so....part 2...

How can I create a simple loop so I can have 3 inputs as follows:
toname
tomail

toname1
tomail1

toname2
tomail2

I want to have it so if someone puts in toname1 without tomail1, it will echo error message.  Also, how can I loop it if it needs to send 3 mails instead of just 1?  I am try a few things with no success...thanks in advance.
0
Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

 
Khanh DoanSenior DeveloperCommented:
<HTML>
<HEAD>
<TITLE>formpage</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

</HEAD>
<BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>

<?php
if (isset($_POST['submit'])) {
      if (empty($_POST['fromname']) || empty($_POST['frommail']) || empty($_POST['message'])) {
            echo "all fields must be completed<br>\n";
      }
      else
      {
            for ($i = 1; $i <= 4; $i++)
            {
                  if (!empty($_POST['toname' . $i]) && !empty($_POST['tomail' . $i]))
                  {
                        $to[$i]  = $_POST['tomail' . $i];
                        $subject[$i] = $_POST['subject' . $i];
                        $message[$i] = $_POST['message' . $i];
                        $headers[$i] = "To: " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . ">\r\n";
                        $headers[$i] .= "From: " . $_POST['fromname' . $i]." <" . $_POST['frommail' . $i] . ">\r\n";
                        //mail($to, $subject, $message, $headers) or die("could not send mail, an error occured");
                        //echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
                  }
                  else
                  {
                        echo "You must input toname" . $i . "or tomail" . $i . " !<br>";
                  }
            }

            /*for ($i = 1; $i <= 4; $i++)
            {
                  mail($to[$i], $subject[$i], $message[$i], $headers[$i]) or die("could not send mail, an error occured");
                  echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
            }*/
      }
}
?>


<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="mail">
<input type="HIDDEN" name="subject" value="ID HERE">
     <div align="center">
  <table border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="FFFFFF" style="border: 1pt solid #001b6e; width: 525px;" nof="LY">
    <tr valign="TOP" align="LEFT">
      <td width="100%">
<br><b><font size="-2" face="Verdana">&nbsp;&nbsp;*Note: </font></b><font size="-2" face="Verdana">
&nbsp;&nbsp;Tell Your Friends.<br>
                  </font>

<div align="center">
<table width="520" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
<table border="0" cellpadding="0" cellspacing="0" width="97%">
  <tr>
     <td width="100%"><font face="Arial"><font size="-1">&nbsp;&nbsp;Your Name:&nbsp;</font>
     <input type="TEXT" name="fromname" size="24" maxlength="30" value="<?php echo $_POST['fromname'];?>"></font></td></tr>
  <tr>
     <td width="100%"><font face="Arial"><font size="-1">&nbsp;&nbsp;Your Email:&nbsp;</font>
     <input type="TEXT" name="frommail" size="24" maxlength="50" value="<?php echo $_POST['frommail'];?>"></font></td>
  </tr>
</table></td>
     <td><font face="Arial">
     <textarea wrap="PHYSICAL" id="textarea" name="message" rows="4" cols="27" value=""><?php if(isset($_POST['message'])) { echo $_POST['message']; } ?></textarea></font>
</td></tr></table>
</div>
<div align="left">
<table id="Table1" border="0" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111">
   <tr>
     <td width="117"> <p>&nbsp;</p></td>
     <td width="158"> <p><font face="Arial" size="-1"><b>Name</b></font></p></td>
     <td width="228"> <p><font face="Arial" size="-1"><b>Email</b></font></p></td></tr>
   <tr>
     <td width="117" align="right"> <p><font face="Arial" size="2">Friend 1&nbsp;</font></p></td>
     <td width="158"> <p><font face="Arial">
     <input type="TEXT" name="toname1" value="<?php echo $_POST['tomail1'];?>" size="20" maxlength="50" value="<?php if(isset($_POST['toname'])) { echo $_POST['toname']; } ?>"></font></td>
     <td width="228"> <p><font face="Arial">
     <input type="TEXT" name="tomail1" value="<?php echo $_POST['toname1'];?>" size="20" maxlength="50" value="<?php if(isset($_POST['tomail'])) { echo $_POST['tomail']; } ?>"></font></td></tr>
   <tr>
     <td width="117" align="right"> <p><font face="Arial" size="2">Friend 2&nbsp;</font></p></td>
     <td width="158"> <p><font face="Arial">
     <input type="TEXT" name="name2" value="<?php echo $_POST['tomail2'];?>" size="20" maxlength="50"></font></td>
     <td width="228"> <p><font face="Arial">
     <input type="TEXT" name="email2" value="<?php echo $_POST['toname2'];?>" size="20" maxlength="50"></font></td></tr>
   <tr>
     <td width="117" align="right"> <p><font face="Arial" size="2">Friend 3&nbsp;</font></p></td>
     <td width="158"> <p><font face="Arial">
     <input type="TEXT" name="name3" value="<?php echo $_POST['tomail3'];?>" size="20" maxlength="50"></font></td>
     <td width="228"> <p><font face="Arial">
     <input type="TEXT" name="email3" value="<?php echo $_POST['toname3'];?>" size="20" maxlength="50"></font></td></tr>
   <tr>
     <td width="117" align="right"> <p><font face="Arial" size="2">Friend 4&nbsp;</font></p></td>
     <td width="158"> <p><font face="Arial">
     <input type="TEXT" name="name4" value="<?php echo $_POST['tomail4'];?>" size="20" maxlength="50"></font></td>
     <td width="228"> <p><font face="Arial">
     <input type="TEXT" name="email4" value="<?php echo $_POST['toname4'];?>" size="20" maxlength="50"></font></td></tr>
</table>
</div>
         
<table width="100%" border="0" cellspacing="0" cellpadding="0" nof="TE" height="4">
   <tr>
     <td align="center" height="4"><br><font face="Arial">
     <input name="submit" type="submit" value="Send to Friends!"></font>
</td></tr></table>
</td></tr></table>
</div>
</form>




</BODY>
</HTML>

If you still want sent email if user don't input all of field, just remove comment :
            /*for ($i = 1; $i <= 4; $i++)
            {
                  mail($to[$i], $subject[$i], $message[$i], $headers[$i]) or die("could not send mail, an error occured");
                  echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
            }*/

Bonmat86.
0
 
precisionAuthor Commented:
ok, getting close...here are some issues I see....right now

1) If I fill in just a few fields, error message flag comes up just find, but my typed in form data dissapears...

2) I want it so someone can just refer 1 friend but "has to have name/email filled in", or they can refer 2 or even 3 friends...
0
 
Khanh DoanSenior DeveloperCommented:
<HTML>
<HEAD>
<TITLE>formpage</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

</HEAD>
<BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>

<?php
if (isset($_POST['submit'])) {
     if (empty($_POST['fromname']) || empty($_POST['frommail']) || empty($_POST['message'])) {
          echo "all fields must be completed<br>\n";
     }
     else
     {
          for ($i = 1; $i <= 4; $i++)
          {
               if (!empty($_POST['toname' . $i]) && !empty($_POST['tomail' . $i]))
               {
                    $to[$i]  = $_POST['tomail' . $i];
                    $subject[$i] = $_POST['subject' . $i];
                    $message[$i] = $_POST['message' . $i];
                    $headers[$i] = "To: " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . ">\r\n";
                    $headers[$i] .= "From: " . $_POST['fromname' . $i]." <" . $_POST['frommail' . $i] . ">\r\n";
                    //mail($to, $subject, $message, $headers) or die("could not send mail, an error occured");
                    //echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
               }
               /*else
               {
                    echo "You must input toname" . $i . "or tomail" . $i . " !<br>";
               }*/
          }

          for ($i = 1; $i <= 4; $i++)
          {
                     if (!empty($_POST['toname' . $i]))
                     {
                              mail($to[$i], $subject[$i], $message[$i], $headers[$i]) or die("could not send mail, an error occured");
                              echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
                     }
          }
     }
}
?>


<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="mail">
<input type="HIDDEN" name="subject" value="ID HERE">
     <div align="center">
  <table border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="FFFFFF" style="border: 1pt solid #001b6e; width: 525px;" nof="LY">
    <tr valign="TOP" align="LEFT">
      <td width="100%">
<br><b><font size="-2" face="Verdana">&nbsp;&nbsp;*Note: </font></b><font size="-2" face="Verdana">
&nbsp;&nbsp;Tell Your Friends.<br>
                  </font>

<div align="center">
<table width="520" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
<table border="0" cellpadding="0" cellspacing="0" width="97%">
  <tr>
     <td width="100%"><font face="Arial"><font size="-1">&nbsp;&nbsp;Your Name:&nbsp;</font>
     <input type="TEXT" name="fromname" size="24" maxlength="30" value="<?php echo $_POST['fromname'];?>"></font></td></tr>
  <tr>
     <td width="100%"><font face="Arial"><font size="-1">&nbsp;&nbsp;Your Email:&nbsp;</font>
     <input type="TEXT" name="frommail" size="24" maxlength="50" value="<?php echo $_POST['frommail'];?>"></font></td>
  </tr>
</table></td>
     <td><font face="Arial">
     <textarea wrap="PHYSICAL" id="textarea" name="message" rows="4" cols="27" value=""><?php if(isset($_POST['message'])) { echo $_POST['message']; } ?></textarea></font>
</td></tr></table>
</div>
<div align="left">
<table id="Table1" border="0" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111">
   <tr>
     <td width="117"> <p>&nbsp;</p></td>
     <td width="158"> <p><font face="Arial" size="-1"><b>Name</b></font></p></td>
     <td width="228"> <p><font face="Arial" size="-1"><b>Email</b></font></p></td></tr>
   <tr>
     <td width="117" align="right"> <p><font face="Arial" size="2">Friend 1&nbsp;</font></p></td>
     <td width="158"> <p><font face="Arial">
     <input type="TEXT" name="toname1" value="<?php echo $_POST['toname1'];?>" size="20" maxlength="50" value="<?php if(isset($_POST['toname'])) { echo $_POST['toname']; } ?>"></font></td>
     <td width="228"> <p><font face="Arial">
     <input type="TEXT" name="tomail1" value="<?php echo $_POST['tomail1'];?>" size="20" maxlength="50" value="<?php if(isset($_POST['tomail'])) { echo $_POST['tomail']; } ?>"></font></td></tr>
   <tr>
     <td width="117" align="right"> <p><font face="Arial" size="2">Friend 2&nbsp;</font></p></td>
     <td width="158"> <p><font face="Arial">
     <input type="TEXT" name="name2" value="<?php echo $_POST['tomail2'];?>" size="20" maxlength="50"></font></td>
     <td width="228"> <p><font face="Arial">
     <input type="TEXT" name="email2" value="<?php echo $_POST['toname2'];?>" size="20" maxlength="50"></font></td></tr>
   <tr>
     <td width="117" align="right"> <p><font face="Arial" size="2">Friend 3&nbsp;</font></p></td>
     <td width="158"> <p><font face="Arial">
     <input type="TEXT" name="name3" value="<?php echo $_POST['tomail3'];?>" size="20" maxlength="50"></font></td>
     <td width="228"> <p><font face="Arial">
     <input type="TEXT" name="email3" value="<?php echo $_POST['toname3'];?>" size="20" maxlength="50"></font></td></tr>
   <tr>
     <td width="117" align="right"> <p><font face="Arial" size="2">Friend 4&nbsp;</font></p></td>
     <td width="158"> <p><font face="Arial">
     <input type="TEXT" name="name4" value="<?php echo $_POST['tomail4'];?>" size="20" maxlength="50"></font></td>
     <td width="228"> <p><font face="Arial">
     <input type="TEXT" name="email4" value="<?php echo $_POST['toname4'];?>" size="20" maxlength="50"></font></td></tr>
</table>
</div>
         
<table width="100%" border="0" cellspacing="0" cellpadding="0" nof="TE" height="4">
   <tr>
     <td align="center" height="4"><br><font face="Arial">
     <input name="submit" type="submit" value="Send to Friends!"></font>
</td></tr></table>
</td></tr></table>
</div>
</form>




</BODY>
</HTML>


Please copy all of my code and try it.
Bonmat86.
0
 
precisionAuthor Commented:
ok, your good!  I put in the exact code above, your latest post...

When I type in "Your Name", flag comes up fine regarding "all fields must be completed"

Then when I type in "Your Email", flag comes up fine regarding "all fields must be completed"

Then when I type in the message, flags go away completely (maybe should say "enter a friend")

Then when I type in just "name1" it states "mail sent to blah"

It is getting close!  Thanks in advance....soon we can close and bump to more points with your effort...
0
 
Khanh DoanSenior DeveloperCommented:
<?php
if (isset($_POST['submit'])) {
     if (empty($_POST['fromname']))
       {
          echo "You must iput From Name field !<br>\n";
     }
       if (empty($_POST['frommail']))
       {
          echo "You must iput From Mail field !<br>\n";
     }
       if (empty($_POST['message']))
       {
          echo "You must iput Message field !<br>\n";
     }
     else
     {
          for ($i = 1; $i <= 4; $i++)
          {
               if (!empty($_POST['toname' . $i]) && !empty($_POST['tomail' . $i]))
               {
                    $to[$i]  = $_POST['tomail' . $i];
                    $subject[$i] = $_POST['subject' . $i];
                    $message[$i] = $_POST['message' . $i];
                    $headers[$i] = "To: " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . ">\r\n";
                    $headers[$i] .= "From: " . $_POST['fromname' . $i]." <" . $_POST['frommail' . $i] . ">\r\n";
                    //mail($to, $subject, $message, $headers) or die("could not send mail, an error occured");
                    //echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
                              $count++;
               }
               /*else
               {
                    echo "You must input toname" . $i . "or tomail" . $i . " !<br>";
               }*/
          }

              if ($count == '') echo "You must enter a friend.";

          for ($i = 1; $i <= 4; $i++)
          {
                  if (!empty($_POST['toname' . $i]))
                  {
                         mail($to[$i], $subject[$i], $message[$i], $headers[$i]) or die("could not send mail, an error occured");
                         echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
                  }
          }
     }
}
?>

As you like.
Good luck.
Bonmat86.
0
 
Khanh DoanSenior DeveloperCommented:
<?php
if (isset($_POST['submit'])) {
     if (empty($_POST['fromname']))
       {
          echo "You must input From Name field !<br>\n";
     }
       if (empty($_POST['frommail']))
       {
          echo "You must input From Mail field !<br>\n";
     }
       if (empty($_POST['message']))
       {
          echo "You must input Message field !<br>\n";
     }
     else
     {
          for ($i = 1; $i <= 4; $i++)
          {
               if (!empty($_POST['toname' . $i]) && !empty($_POST['tomail' . $i]))
               {
                    $to[$i]  = $_POST['tomail' . $i];
                    $subject[$i] = $_POST['subject' . $i];
                    $message[$i] = $_POST['message' . $i];
                    $headers[$i] = "To: " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . ">\r\n";
                    $headers[$i] .= "From: " . $_POST['fromname' . $i]." <" . $_POST['frommail' . $i] . ">\r\n";
                    //mail($to, $subject, $message, $headers) or die("could not send mail, an error occured");
                    //echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
                              $count++;
               }
               /*else
               {
                    echo "You must input toname" . $i . "or tomail" . $i . " !<br>";
               }*/
          }

          for ($i = 1; $i <= 4; $i++)
          {
                  if (!empty($_POST['toname' . $i]))
                  {
                         mail($to[$i], $subject[$i], $message[$i], $headers[$i]) or die("could not send mail, an error occured");
                         echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
                  }
          }
     }
       if ($count == '') echo "You must enter a friend.";
}
?>

This one is better.
Bonmat86.
0
 
precisionAuthor Commented:
ok, much better but when I have entered "Your Name" "Your Email" & "Message"....Then when I enter "toname1" and NOT "tomail1" I get this....

mail sent to johnboy <>
You must enter a friend.
0
 
Khanh DoanSenior DeveloperCommented:
<?php
if (isset($_POST['submit'])) {
     if (empty($_POST['fromname']))
       {
          echo "You must input From Name field !<br>\n";
     }
       if (empty($_POST['frommail']))
       {
          echo "You must input From Mail field !<br>\n";
     }
       if (empty($_POST['message']))
       {
          echo "You must input Message field !<br>\n";
     }
     else
     {
             $count = 0;
          for ($i = 1; $i <= 4; $i++)
          {
               if (!empty($_POST['toname' . $i]) && !empty($_POST['tomail' . $i]))
               {
                    $to[$i]  = $_POST['tomail' . $i];
                    $subject[$i] = $_POST['subject' . $i];
                    $message[$i] = $_POST['message' . $i];
                    $headers[$i] = "To: " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . ">\r\n";
                    $headers[$i] .= "From: " . $_POST['fromname' . $i]." <" . $_POST['frommail' . $i] . ">\r\n";
                    //mail($to, $subject, $message, $headers) or die("could not send mail, an error occured");
                    //echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
                              $count++;
               }
               /*else
               {
                    echo "You must input toname" . $i . "or tomail" . $i . " !<br>";
               }*/
          }

          for ($i = 1; $i <= 4; $i++)
          {
                  if (!empty($_POST['toname' . $i]) && $count != 0)
                  {
                         mail($to[$i], $subject[$i], $message[$i], $headers[$i]) or die("could not send mail, an error occured");
                         echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
                  }
          }
     }
       if ($count == 0) echo "You must enter a friend.";
}
?>

Bonmat86.
0
 
precisionAuthor Commented:
Ahhhhh...Sorry for the extra effort, like I said we will move to new post soon...

Much better, now when I send to friends, it states:

"could not send mail, an error occured"
and form goes away, just left with error message.
0
 
Khanh DoanSenior DeveloperCommented:
<?php
if (isset($_POST['submit'])) {
     if (empty($_POST['fromname']))
       {
          echo "You must input From Name field !<br>\n";
     }
       if (empty($_POST['frommail']))
       {
          echo "You must input From Mail field !<br>\n";
     }
       if (empty($_POST['message']))
       {
          echo "You must input Message field !<br>\n";
     }
     else
     {
             $count = 0;
          for ($i = 1; $i <= 4; $i++)
          {
               if (!empty($_POST['toname' . $i]) && !empty($_POST['tomail' . $i]))
               {
                    $to[$i]  = $_POST['tomail' . $i];
                    $subject = $_POST['subject'];
                    $message = $_POST['message'];
                    $headers[$i] = "To: " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . ">\r\n";
                    $headers[$i] .= "From: " . $_POST['fromname']." <" . $_POST['frommail'] . ">\r\n";
                    //mail($to, $subject, $message, $headers) or die("could not send mail, an error occured");
                    //echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
                              $count++;
               }
               /*else
               {
                    echo "You must input toname" . $i . "or tomail" . $i . " !<br>";
               }*/
          }

          for ($i = 1; $i <= 4; $i++)
          {
                  if (!empty($_POST['toname' . $i]) && $count != 0)
                  {
                         mail($to[$i], $subject, $message, $headers[$i]) or die("could not send mail, an error occured");
                         echo "mail sent to " . $_POST['toname' . $i] . " <" . $_POST['tomail' . $i] . "><br>\n";
                  }
          }
     }
       if ($count == 0) echo "You must enter a friend.";
}
?>

I uploaded it to my host and it works now.
Bonmat86.
0
 
precisionAuthor Commented:
Nice...I have a few tweaks, moving to new question with your code, about 3-5 minutes....
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 8
  • 7
Tackle projects and never again get stuck behind a technical roadblock.
Join Now