|
Posted by Tom on 12/19/07 19:22
On Wed, 19 Dec 2007 04:29:18 +0100, Majki Majk wrote...
>
>Hi! I'm not managing to start this script. It's my first php script i'm
>implementing. I'm not an php scripter, i am an html/css amater working on
>society association.
>
>I have apache server on my computer. I have inserted this php script into
>my website folder which is emailform.php and the contact form part into
>html/css document. But when trying to send e-mail on my computer to test the
>script then a box for 'saving file' jumps out into the screen, so,....here
>is the emailform.php script text. I think it's a bit long, but am not
>competant to confirm that.
>
><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>
>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
><html xmlns="http://www.w3.org/1999/xhtml">
>
><head>
>
><title>Emailing Form Data</title>
>
><style type="text/css">
>
>code {color:#F00C4D;font-weight:bold;font-size:1.2em}
>
>i {color: #6D0CF0}
>
>th, td {padding:.1em;border:1px solid blue;text-align:left}
>
></style>
>
></head>
>
><body>
>
>
>
><?php
>
>//This is a very simple PHP script that outputs the name of each bit of
>information (that corresponds to the <code>name</code> attribute for that
>field) along with the value that was sent with it right in the browser
>window, and then sends it all to an email address (once you've added it to
>the script).
>
>if (empty($_POST)) {
>
>print "<p>No data was submitted.</p>";
>
>print "</body></html>";
>
>exit();
>
>}
>
>//Creates function that removes magic escaping, if it's been applied, from
>values and then removes extra newlines and returns to foil spammers. Thanks
>Larry Ullman!
>
>function clear_user_input($value) {
>
>if (get_magic_quotes_gpc()) $value=stripslashes($value);
>
>$value= str_replace( "\n", '', trim($value));
>
>$value= str_replace( "\r", '', $value);
>
>return $value;
>
>}
>
>
>
>if ($_POST['comments'] == 'Please share any comments you have here')
>$_POST['comments'] = '';
>
>//Create body of message by cleaning each field and then appending each name
>and value to it
>
>$body ="Here is the data that was submitted:\n";
>
>foreach ($_POST as $key => $value) {
>
>$key = clear_user_input($key);
>
>$value = clear_user_input($value);
>
>if ($key=='extras') {
>
>
>if (is_array($_POST['extras']) ){
>
>$body .= "$key: ";
>
>$counter =1;
>
>foreach ($_POST['extras'] as $value) {
>
>//Add comma and space until last element
>
>if (sizeof($_POST['extras']) == $counter) {
>
>$body .= "$value\n";
>
>break;}
>
>else {
>
>$body .= "$value, ";
>
>$counter += 1;
>
>}
>
>}
>
>} else {
>
>$body .= "$key: $value\n";
>
>}
>
>} else {
>
>$body .= "$key: $value\n";
>
>}
>
>}
>
>extract($_POST);
>
>//removes newlines and returns from $email and $name so they can't smuggle
>extra email addresses for spammers
>
>$email = clear_user_input($email);
>
>$name = clear_user_input($name);
>
>//Create header that puts email in From box along with name in parentheses
>and sends bcc to alternate address
>
>$from='From: '. $email . "(" . $name . ")" . "\r\n" . 'Bcc:
>youremail@yourdomain.com' . "\r\n";
>
>
>
>//Creates intelligible subject line that also shows me where it came from
>
>$subject = 'Bed Order from Web Site';
>
>//Sends mail to me, with elements created above
>
>mail ('youremail@yourdomain.com', $subject, $body, $from);
>
>
>
>?>
>
><p>Thanks for your order! We'll send your bed right away.</p>
>
>
>
></body>
>
></html>
>
>
I wasn't seeing any <form> tags in your code, that would define the action and
method. If you don't have that, then I don't think you would have any "$_POST"
variables to work with.
Tom
--
NewsGuy Accounts Go Jumbo!
NewsGuy Express increased from 30 to 50 GB of download capacity
http://newsguy.com/overview.htm
[Back to original message]
|