Solved

PHP Mail code problem and other help needed...

Posted on 2006-06-20
15
204 Views
Last Modified: 2013-12-12
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
Comment
Question by:precision
  • 8
  • 7
15 Comments
 

Author Comment

by:precision
ID: 16942665
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
 
LVL 10

Expert Comment

by:Khanh Doan
ID: 16943324
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
 

Author Comment

by:precision
ID: 16950389
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
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 
LVL 10

Expert Comment

by:Khanh Doan
ID: 16951740
<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
 

Author Comment

by:precision
ID: 16952688
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
 
LVL 10

Expert Comment

by:Khanh Doan
ID: 16952769
<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
 

Author Comment

by:precision
ID: 16952975
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
 
LVL 10

Expert Comment

by:Khanh Doan
ID: 16953093
<?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
 
LVL 10

Expert Comment

by:Khanh Doan
ID: 16953106
<?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
 

Author Comment

by:precision
ID: 16953193
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
 
LVL 10

Expert Comment

by:Khanh Doan
ID: 16953271
<?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
 

Author Comment

by:precision
ID: 16953348
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
 
LVL 10

Accepted Solution

by:
Khanh Doan earned 500 total points
ID: 16953493
<?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
 

Author Comment

by:precision
ID: 16953557
Nice...I have a few tweaks, moving to new question with your code, about 3-5 minutes....
0
 

Author Comment

by:precision
ID: 16953878
0

Featured Post

ScreenConnect 6.0 Free Trial

Want empowering updates? You're in the right place! Discover new features in ScreenConnect 6.0, based on partner feedback, to keep you business operating smoothly and optimally (the way it should be). Explore all of the extras and enhancements for yourself!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
designing in object programming 12 78
PHP and google maps 13 45
Seeking info on how to integrate RETS feed based MLS data into a WordPress site 5 48
tutorial for ebay api 3 34
Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question