[Pro] PHP Feedback Forms stopped working on multiple sites

All of a sudden I realized all my PHP feedback forms have stopped working across multiple sites. Each site is hosted with Fat Cow.

I still get the proper success message, but the info never makes it to the designated inbox.

I contacted Fat Cow. They have only said
“I’ve investigated the contact forms on your websites and they appear to be scripted incorrectly. If the forms were previously working you may want to restore them from a backup.”

All forms were working as recently as 4/26. Nothing has changed about the websites. Fat Cow claims the form info isn’t reaching them.

Here are two of the sites that have stopped working

http://redmuttdesigns.com/contact.html
http://viewmytake.com/contact.html

Does anyone have any suggestions?

THANK YOU!

JAC


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

The first things that I see with both of these forms is incorrect naming of the fields.

With the field selected look under the 3rd tab in the Inspector

name field should be ‘name’ and email field ‘email’ - these are case sensitive!

The form processing relies on these fields (especially email) to be named correctly for error processing.

Once you have corrected these then change the PHPFF action parameters to use different error pages for each error - Not in Domain, Server failure and Invalid email.

Can be a blank page with just the error on it.

Now reupload and see which error page you get - if any!

Let us know because without seeing your server config etc. this is the best place to start.

David


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

First off, thank you for your help.

I updated and made the changes to http://redmuttdesigns.com/contact.html

When pressing submit, I get the success confirmation. But the email does not go through.

The strangest thing is all my forms were working and they all stopped at the same time. I have not changed any server configurations.

Any other ideas?


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

I dont think that there is anything wrong with your form.

Walter suggested this as a server test on another thread - you should try it on yours

Try uploading a plain text file containing only these lines (name it something like asdfsdf.php) to your server, then visit it in a browser and see if you get a mail message.

<?php $address = 'your-email-address-here'; if(mail($address, 'Test message', 'Hope you get this!', 'From: ' . $address, '-f' . $address)){ print 'Message sent!'; }else{ die('An error occurred'); } ?>

See if that works.

D


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

Thanks for this. I will try it now.

I have been round and round with Fat Cow. They blamed the code first, then they blamed gmail, and also the domain registrar (Go Daddy). Nothing has changed with any of those things. Fat Cow worked on the issue and two of the forms started working again. I was getting all their test emails all of a sudden. When I have tried to get clarity on what they did, no one will give me a straight answer. They have just said it is an " external mail issue." But each form goes to a different email address, so for all of them to stop working at the same time and it be an email issue seems unlikely.

The good news is I deleted the PHP Feedback Form action and reapplied it and that has taken care of the problem for two more forms. Somehow reuploading the PHP Form gets them working again. From my interactions, though. I do believe something went wrong with Fat Cow hosting. I just don’t know what.

Now I will be paranoid and checking the forms continually until I find a solution. The fact that they can just stop working but still give the success message is really troubling. Like I said before, these forms were working fine for multiple years before this issue suddenly emerged.

If anyone has any other advice, I would welcome it. Either how to ensure this fix is permanent or how to create the forms in another way. I picked Fat Cow because they were so highly recommended by Freeway, and everything had worked perfectly until this.

Thanks for any help!

JAC


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

UPDATE: The plain text file PHP server test worked. I got the email message. So any advice on what that means in the mix would be great.


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

PHP upgrades can do this. Particularly if they reset the php.ini file to stricter standard permissions. They may not tell you when/if they are doing this for security/liability reasons. One thing you might do is create a test file:

<?php
	phpinfo();
?>

Upload that to your server with an FTP tool, name it something cryptic, and visit it in a browser. Print out the resulting (very tall) page, and then rename the file on your server to asdfasdf.php.bak (if you had previously named it asdfasfg.php) and leave it there. It won’t do any harm in that state. Then, if something goes sideways later on, you can rename it back to end in .php, visit it again, and compare with your previous “fingerprint” and see what’s different.

Walter

On Jun 11, 2012, at 11:56 AM, JAC wrote:

Like I said before, these forms were working fine for multiple years before this issue suddenly emerged.


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

It worked on a broken server? That may point to your previous version of PHPFF being older, and not having the fifth variable in the mail command. The fifth variable sets a sendmail “flag” telling the server what user to impersonate when sending the mail. If this isn’t set to a system user account, you can have security failures which will only turn up in the sendmail logs (your normal cpanel user generally can’t see these, either).

Walter

On Jun 11, 2012, at 12:04 PM, JAC wrote:

UPDATE: The plain text file PHP server test worked. I got the email message. So any advice on what that means in the mix would be great.


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

The fact that they can just stop working but still give the success message is really troubling.

The success page only means the php-go file has done its stuff. (Started the process)

It is the sendmail function on the server that actually delivers the email to the end user - I suspect that is where the problem was. Outwith your control.

D


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

That last message is Greek to me. I have always been able to dictate which email address the form goes to (the 5th variable I presume), but I’m not sure if that is what you meant.

The test worked, yes, but other forms had already started working at that point so I’m not sure I could say the server was broken. It seems that deleting the action, reapplying it, publishing all, and reuploading the entire site is getting them working again. From that, I would assume Fat Cow had a PHP upgrade.

Agreed?


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

Yes, and by the timing of all this, I would say that it was completely broken on their end (no mail being passed to sendmail or similar) and they fixed it during your tests. No solid conclusions can be drawn here. There are two different elements to the “from” bit. In early versions of PHPFF, only the first of these (the fourth variable) was being set. Later on, Tim added the sendmail flag (the fifth variable). For your edification, here is the function (in PHP) that actually sends the mail, with the variables named sensibly:

function mail($to_address, $subject, $body, $headers, $flags);

$headers takes a string of text, with the individual headers separated by newlines (line-breaks), like this:

From: me(a)my.com
Bcc: you(a)your.com
Reply-to: them(a)their.com

$flags takes a string in Unix “flag” format:

-fme(a)my.com -v

The dash-f is the flag and the variable immediately follows it. -v would turn on verbose mode in Sendmail, but since it doesn’t report back to you, it’s meaningless in this context. I just put it in there to show you how another flag would look in the variable value.

Walter

On Jun 11, 2012, at 12:23 PM, JAC wrote:

That last message is Greek to me. I have always been able to dictate which email address the form goes to (the 5th variable I presume), but I’m not sure if that is what you meant.

The test worked, yes, but other forms had already started working at that point so I’m not sure I could say the server was broken. It seems that deleting the action, reapplying it, publishing all, and reuploading the entire site is getting them working again. From that, I would assume Fat Cow had a PHP upgrade.

Agreed?


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

Hey Dave,

I totally understand the success page only means the process is started. I just mean that is troubling for the user. They are getting “Your message was sent. You’ll hear form us shortly,” and meanwhile the message has never been sent and they certainly won’t get a reply. Unless I am repeatedly checking the forms to make sure there have been no PHP upgrades, that is troubling that the forms can stop working without me knowing.

The only reason I became aware of this issue is that I built and tested a new form and it wouldn’t work. I tried a bunch of things before trying another form that was already built and realized they had all stopped. This could have happend a day ago or a month ago. I have no idea. It makes me hesitant to use these contact forms on hosting such as Fat Cow. Unless I’m missing something. I’d love to hear your opinion. Maybe this is a very rare occurrence.

I contacted Fat Cow to see if any PHP upgrades occurred in the last two months. Waiting to hear.

JAC


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

From that, I would assume Fat Cow had a PHP upgrade.

I wouldn’t go as far as to say that - it is a possible cause.

It could have been caused by any number of faults with their sendmail.

The lesson learned is really that you cannot take for granted that your server operates 100% all of the time. More worrying is that nobody at FatCow knew there was a problem - or if they did they hadn’t fixed it.

D


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

Dave,

Point taken.

Walter,

So the PHP action, even though I downloaded it during this process to make sure I had the most up-to-date version and installed it and it gave me the “this action replaces an older one that already exists,” it doesn’t look like it actually updated. I just manually went into my action folder and replaced it, but now I still don’t see the Fifth variable. The flag that you said would be there. I have 1) Use 2) Error Page 3) Success Page 4) Email recipient 5) Email title 6) Use and 7) Reroute email

It did change, however. Under the advanced options I now have “blocked ip addresses” where I didn’t before.

I am guessing I am missing something simple. How do I find this missing 5th variable?

I downloaded the action from http://www.freewayactions.com/product.php?id=019

Sorry I am requiring so much of your time. I hope this is the last thing. Thanks for your help.

JAC


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

Sorry, I meant that internally, deep in the -go.php file, the fifth variable wasn’t being added to the generated code in earlier versions. This wasn’t, and isn’t, something that you would have to set manually, it would be set by specifying the “from” address in the Action interface.

Walter

On Jun 11, 2012, at 1:08 PM, JAC wrote:

I am guessing I am missing something simple. How do I find this missing 5th variable?


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

That was simple! Thanks. And the good news is I think I did update the action in my attempt to find out how to set the 5th variable.


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options

Technically the PHP in the -go.php file will redirect the user to the success page if the server responds positively to the request to queue the email for sending. This is the last chance the server has to report an error. After the email is queued the PHP is done and it’s all down to the server to do the rest of the work. If the server fails at this point, or takes forever (GoDaddy for example will batch outgoing emails so they send every 30 minutes or so) then the PHP sadly has no way to report this back to the user.

I can certainly see the need to keep an eye on services like this to make sure that they are still working OK and I’ll have a think how this could be done in a Freeway-like fashion. For example I use a web service called “Are my sites up?” which will check my servers a couple of dozen times a day so that clients don’t bug me! :slight_smile:
In the interests of complete transparency I’m an affiliate of theirs and I will get a modest kick back if you sign for one of their paid accounts up using the link below;

Typically if you’ve been using a version of the PHP Feedback Form Action and it works on your server and then suddenly stops, assuming you haven’t updated the Action or settings then there is a very good chance that something has changed on the server. Hosts will often apply patches and updates to their servers as they come available and, unfortunately, sometimes the first you may hear about it is when things stop working.
Regards,
Tim.

On 11 Jun 2012, at 17:33, JAC wrote:

I totally understand the success page only means the process is started. I just mean that is troubling for the user. They are getting “Your message was sent. You’ll hear form us shortly,” and meanwhile the message has never been sent and they certainly won’t get a reply. Unless I am repeatedly checking the forms to make sure there have been no PHP upgrades, that is troubling that the forms can stop working without me knowing.


FreewayActions.com - Freeware and commercial Actions for Freeway Express & Pro - http://www.freewayactions.com
FreewayStyle.com - Free Freeway templates and parts to download, use and explore - http://www.freewaystyle.com


actionsdev mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options