Web Hosting Talk







View Full Version : Help with e-mail form


jdjohnson
08-12-2009, 01:54 PM
BELOW IS CODE I FOUND ON THE INTERNET FOR A E-MAIL FORM.

WHEN I CLICK THE SEND BUTTON THE NEXT WEB PAGE SAYS PAGE CANNOT BE FOUND.

<?


if (isset($_POST['from']))
{
$ip = $_SERVER['REMOTE_ADDR'];
$resolved = gethostbyaddr($ip);
if ($resolved != $ip)
{
$footer = "This e-mail was sent by a user with the IP address $ip, which resolved to '$resolved'.";
}
else
{
$footer = "This e-mail was sent by a user with the IP address $ip, which could not be resolved to a hostname.";
}
$message = $_POST['message'];
$message = "$message\n\n------------\n$footer";

if (mail('jdjohnson2009@yahoo.com', $subject,
"$message\n\nCompany: $company\n$Phone: $phone\nCharity: $charity",
"From: $mail\r\nReply-To: $mail\r\n"))
{
echo 'Your mail was successfully sent.';
}
else
{
echo 'There was an error while sending the mail.';
}
}
else
{
?><form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<p>Please be aware that your IP address (<? echo $_SERVER['REMOTE_ADDR'] ?>) will be sent along with the message
to prevent against abuse of this mail form.</p>
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Your
e-mail address:</font></b><i><font face="Trebuchet MS, Verdana, Tahoma, Arial, sans-serif" size="1"><br>
<input type="text" name="from" size="60">
</font></i></td>
</tr>
<tr>
<td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Subject:</font></b>
<i><font face="Trebuchet MS, Verdana, Tahoma, Arial, sans-serif" size="1"><br>
<input type="text" name="subject" size="60">
</font></i></td>
</tr>
<tr>
<td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="/forums/">Forums</a>
Username:</font></b><br>
<i><font face="Trebuchet MS, Verdana, Tahoma, Arial, sans-serif" size="1">Leave
this field blank if you are not registered.<br>
<input type="text" name="forumsusername" size="60">
</font></i></td>
</tr>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Message:<br>
<textarea name="message" rows="10" cols="60"></textarea>
</b></font></td>
</tr>
<tr>
<td align="right"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Click
&quot;Send&quot; only once.</font><br>
<input type="submit" value="Send">
</td>
</tr>
</table>
</form>
<?
}


?>

VicksHost
08-12-2009, 03:41 PM
It's simply that the POST of the form can find page where to post which is page defined on the form which is <? echo $_SERVER['PHP_SELF']; ?>

jdjohnson
08-12-2009, 03:59 PM
I'm new with this kind of code what do i need to do to make it work for my website.

okhud
08-13-2009, 03:01 AM
Try running this code:

<?


if (isset($_POST['from']))
{
$ip = $_SERVER['REMOTE_ADDR'];
$resolved = gethostbyaddr($ip);
if ($resolved != $ip)
{
$footer = "This e-mail was sent by a user with the IP address $ip, which resolved to '$resolved'.";
}
else
{
$footer = "This e-mail was sent by a user with the IP address $ip, which could not be resolved to a hostname.";
}
$message = $_POST['message'];
$message = "$message\n\n------------\n$footer";

if (mail('jdjohnson2009@yahoo.com', $subject,
"$message\n\nCompany: $company\n$Phone: $phone\nCharity: $charity",
"From: $mail\r\nReply-To: $mail\r\n"))
{
echo 'Your mail was successfully sent.';
}
else
{
echo 'There was an error while sending the mail.';
}
}
else
{
?><form method="post" action="">
<p>Please be aware that your IP address (<? echo $_SERVER['REMOTE_ADDR'] ?>) will be sent along with the message
to prevent against abuse of this mail form.</p>
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Your
e-mail address:</font></b><i><font face="Trebuchet MS, Verdana, Tahoma, Arial, sans-serif" size="1"><br>
<input type="text" name="from" size="60">
</font></i></td>
</tr>
<tr>
<td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Subject:</font></b>
<i><font face="Trebuchet MS, Verdana, Tahoma, Arial, sans-serif" size="1"><br>
<input type="text" name="subject" size="60">
</font></i></td>
</tr>
<tr>
<td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="/forums/">Forums</a>
Username:</font></b><br>
<i><font face="Trebuchet MS, Verdana, Tahoma, Arial, sans-serif" size="1">Leave
this field blank if you are not registered.<br>
<input type="text" name="forumsusername" size="60">
</font></i></td>
</tr>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Message:<br>
<textarea name="message" rows="10" cols="60"></textarea>
</b></font></td>
</tr>
<tr>
<td align="right"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Click
&quot;Send&quot; only once.</font><br>
<input type="submit" value="Send">
</td>
</tr>
</table>
</form>
<?
}


?>