Psyloke Posted January 19, 2010 Share Posted January 19, 2010 Hi, I know this is seriously basic stuff for most of you. I've made several websites with Swish and used the php scripts i've grabbed from the net for the contact forms, but now my main server has updated to php5 and the contact form on that website doesn't work. Can anyone give me some advice? I do not really know php, have just muddled through somehow. Here's the original script that works on php4 server: <? if ($send=="yes") { $to = "myemail"; $subject = "$subjectVar"; $body .= "$msgVar"; $from = "$nameVar"; $tfrom = "From: <$emailVar>"; mail($to,$subjectVar,$msgVar,$tfrom); } echo "&errormessage=Email has been sent&"; ?> and here's my attempt at updating it to php5: <? if ($send=="yes") { $to = "myemail"; $subject = "$_POST['subjectVar']"; $body .= "$_POST['msgVar']"; $from = "$_POST['nameVar']"; $tfrom = "From: <$_POST['emailVar']>"; mail($to,$_POST['subjectVar'],$_POST['msgVar'],$tfrom); } echo "&errormessage=Email has been sent&"; ?> any help greatly apprecated! Quote Link to comment https://forums.phpfreaks.com/topic/189055-contact-form-php5-help/ Share on other sites More sharing options...
will35010 Posted January 19, 2010 Share Posted January 19, 2010 Hi, I know this is seriously basic stuff for most of you. I've made several websites with Swish and used the php scripts i've grabbed from the net for the contact forms, but now my main server has updated to php5 and the contact form on that website doesn't work. Can anyone give me some advice? I do not really know php, have just muddled through somehow. Here's the original script that works on php4 server: <? if ($send=="yes") { $to = "myemail"; $subject = "$subjectVar"; $body .= "$msgVar"; $from = "$nameVar"; $tfrom = "From: <$emailVar>"; mail($to,$subjectVar,$msgVar,$tfrom); } echo "&errormessage=Email has been sent&"; ?> and here's my attempt at updating it to php5: <? if ($send=="yes") { $to = "myemail"; $subject = "$_POST['subjectVar']"; $body .= "$_POST['msgVar']"; $from = "$_POST['nameVar']"; $tfrom = "From: <$_POST['emailVar']>"; mail($to,$_POST['subjectVar'],$_POST['msgVar'],$tfrom); } echo "&errormessage=Email has been sent&"; ?> any help greatly apprecated! I just tested on my debian php5 server and the first script works. It must be something else with sendmail or something. Quote Link to comment https://forums.phpfreaks.com/topic/189055-contact-form-php5-help/#findComment-998200 Share on other sites More sharing options...
PFMaBiSmAd Posted January 19, 2010 Share Posted January 19, 2010 ALL of the variables from your form must be converted to $_POST variables, including $send. Quote Link to comment https://forums.phpfreaks.com/topic/189055-contact-form-php5-help/#findComment-998202 Share on other sites More sharing options...
will35010 Posted January 19, 2010 Share Posted January 19, 2010 This is what I tested with. <html> <body> <form> <form id='form1' name='form1' method='post' action='mailtest.php'> <label>Email: <input type='text' name='email' id='email' /> </label> <input type='submit' name='submit' id='submit' value='Submit' /> </form> </body> </html> <? $send = 'yes'; if ($send=="yes") { $to = $_POST['email']; $subject = "test"; $body .= "test"; $from = "[email protected]"; $tfrom = "From: <[email protected]>"; mail($to,$subjectVar,$msgVar,$tfrom); } echo "&errormessage=Email has been sent&"; ?> Quote Link to comment https://forums.phpfreaks.com/topic/189055-contact-form-php5-help/#findComment-998203 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.