AnonymousX Posted September 21, 2007 Share Posted September 21, 2007 I've never used PHP so please go easy on me. I've been trying to get this script to work, but haven't the slightest idea as to what is wrong with it. Here is the code I am working with.I put this code into a file called mail.php and yes, I have my email address in my form, I changed it for security reasons. "<?php//variables (change these)$youremail = "myemail@domain.com";// email$subject = "Contact";// email subject$thankyou = "thankyou.html";// redirect;if($email == ""){?>No email address added. Please go back.<br/>"<?php;}elseif($name == ""){"?>No name added. Please go back.<br/><?php;}elseif($message == ""){"?>No message added. Please go back.<br/>"<?php;}else{$msg = ereg_replace("\\\'", "'", $message);$msg = ereg_replace('\\\"', "\"", $msg);$message1 = "from: $name\nemail: $email\nmessage:\n$msg1";mail($youremail, $subject, $msg, "From: $email\r\nReply-to: $email\r\n");?><meta http-equiv="refresh" content="0; url=<?echo $thankyou;?>"">"<?php}"?> I have this code in my body. <form action="mail.php" method="post">Name:<input type="text" name="name"><br/><br/>Email: <input type="text" name="email"><br/><br/>Message:<br/><br/><textarea name="message" cols="40" rows="15"></textarea><br/><br /><input type="submit" value="Submit"><br/></form> And this is what displays on the screen after clicking the submit button. It is a screen with the text from my php document. "<?php//variables (change these)$youremail = "smith_d88@hotmail.com";// your email address$subject = "Contact";// the subject of the email$thankyou = "thankyou.html";// thank you page// don't change anything else;if($email == ""){?>No email address added. Please go back.<br/>"<?php;}elseif($name == ""){"?>No name added. Please go back.<br/><?php;}elseif($message == ""){"?>No message added. Please go back.<br/>"<?php;}else{$msg = ereg_replace("\\\'", "'", $message);$msg = ereg_replace('\\\"', "\"", $msg);$message1 = "from: $name\nemail: $email\nmessage:\n$msg1";mail($youremail, $subject, $msg, "From: $email\r\nReply-to: $email\r\n");?><meta http-equiv="refresh" content="0; url=<?echo $thankyou;?>"">"<?php}"?> Link to comment Share on other sites More sharing options...
justsomeguy Posted September 24, 2007 Share Posted September 24, 2007 If it's showing the PHP code then the server is not set up to run PHP. Make sure you have PHP installed and configured with the web server. You'll also need to get all the variables from $_POST before you use them:$email = $_POST['email'];$name = $_POST['name'];$message = $_POST['message'];It's not a good practice to rely on register_globals being enabled, it's not even a good practice to enable it.Also, I'm not sure where they came from, but there are several quotes that should be removed."<?php//variables (change these)$youremail = "myemail@domain.com";// email$subject = "Contact";// email subject$thankyou = "thankyou.html";// redirect;if($email == ""){?>No email address added. Please go back.<br/>"<?php;}elseif($name == ""){"?>No name added. Please go back.<br/><?php;}elseif($message == ""){"?>No message added. Please go back.<br/>"<?php;}else{$msg = ereg_replace("\\\'", "'", $message);$msg = ereg_replace('\\\"', "\"", $msg);$message1 = "from: $name\nemail: $email\nmessage:\n$msg1";mail($youremail, $subject, $msg, "From: $email\r\nReply-to: $email\r\n");?><meta http-equiv="refresh" content="0; url=<?echo $thankyou;?>"">"<?php}"?>You can also remove any semicolon that you see at the start of a line. They aren't going to break anything, but they aren't necessary either. Link to comment Share on other sites More sharing options...
AnonymousX Posted October 2, 2007 Author Share Posted October 2, 2007 Rather than starting a new topic, I'm just going to continue here. I have made my PHP form to mail work with a different script. However, I have been getting an error message. After I submit the form the first time, if I return to the contact page, I often find this in my content.Warning: Cannot modify header information - headers already sent by (output started at /hsphere/local/home/smithd88/adhesionarts.com/index.php:9) in /hsphere/local/home/smithd88/adhesionarts.com/index.php on line 95I don't know what it means or what is causing it but line 95 reads...header("location: thankyou.html");I can only assume that I have failed in my attempt to redirect the visitor to a thank you page after submitting the form. If this is not enough information, please tell me and I can give the code. Link to comment Share on other sites More sharing options...
justsomeguy Posted October 2, 2007 Share Posted October 2, 2007 Check this topic near the end:http://w3schools.invisionzone.com/index.php?showtopic=12509 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.