Hello – php isn’t my thing so I’ve copied a form_mail script which has worked perfectly on my own hosting but it doesn’t work on a new site I’m working on (different server). I get ‘undefined index’ errors inside the form’s text boxes.
I’m guessing this might need a modification for php5 but I’m not sure? Any help would be much appreciated! Here’s the code in it’s entirety as per the site I downloaded it from:
[code=php]<?php
// modify the two lines below
$emailAddress = “[email protected]”; // your email address
$thankyouPage = “http://www.site.co.uk”; // put in a url (or relative page) to go to a Thank You page
// modify the two lines above
session_start();
if (!empty($_POST)) {
foreach ($_POST as $key=>$value) {
$_POST[$key] = stripslashes($_POST[$key]);
$_POST[$key] = htmlspecialchars($_POST[$key],ENT_QUOTES);
}
}
if (isset($_POST[‘send’]) AND isset($_SESSION[‘msgCount’])) {
if (!preg_match(“(^[-w.]+@([-a-z0-9]+.)+[a-z]{2,4}$)i”,$_POST[’email’])) $alert = “You have entered an invalid email address.”;
if ($_SESSION[‘msgCount’] >= “3”) $alert = “Only 3 messages can be sent per session.”;
if (empty($alert)) {
$_SESSION[‘msgCount’]++;
putenv(‘TZ=EST5EDT’); // eastern time
$headers = ‘MIME-Version: 1.0’ . “rn”;
$headers .= ‘Content-type: text/html; charset=iso-8859-1′ . “rn”;
$headers .= “From: <“.$_POST[’email’].”>rn”;
$message = “<table cellpadding=’5′ border=’1′>”;
foreach ($_POST as $key => $value)
if (!preg_match(“(^send)”,$key)) {
$value = wordwrap($value,65,”<br />”);
$message .=”<tr><td><b>$key</b></td><td>$value</td></tr>”;
}
$message .= “</table>”;
$message .= “<br />Time of the message: “.date(” F d h:ia”).”<br />”;
$message .= “IP Address: “.$_SERVER[‘REMOTE_ADDR’].”<br />”;
$message .= “Hostname: “.gethostbyaddr($_SERVER[‘REMOTE_ADDR’]).”<br />”;
$subject = $_SERVER[‘HTTP_HOST’].” Message”;
mail($emailAddress,$subject,$message,$headers);
if (!empty($thankyouPage)) {
header(‘location: ‘.$thankyouPage);
die();
}
unset($_POST);
$alert = “Your message has been sent.”;
}
}
if (!isset($_SESSION[‘msgCount’])) $_SESSION[‘msgCount’] = 0;
?>
<html>
<head>
</head>
<body>
<form method=”post” action=”<?php echo $_SERVER[‘SCRIPT_NAME’]; ?>”>
<div style=”text-align: center; width: 500px; margin: 50px auto 0px auto; border: solid 1px black;”>
<br>
Send us a message<br><br>
your name<br><input type=”text” style=”width: 330px;” name=”name” value=”<?php echo $_POST[‘name’]; ?>” maxlength=”50″><br><br>
your email address<br><input type=”text” style=”width: 330px;” name=”email” value=”<?php echo $_POST[’email’]; ?>” maxlength=”50″><br><br>
your message<br><textarea name=”content” style=”width: 330px; height: 100px;” rows=”6″ cols=”80″><?php echo $_POST[‘content’]; ?></textarea>
<br><br>
<input type=”submit” name=”send” value=”submit”>
<br /><br />
</div>
</form>
<?php if (isset($alert)) echo “<script type=’text/javascript’>alert(‘$alert’);</script>”; ?>
</body></html>