Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

All other Modules /

Discuss all other Modules here.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Userforms & Newsletter don't work after upgrade


Go to End


4 Posts   1521 Views

Avatar
bones

Community Member, 110 Posts

20 October 2009 at 9:22pm

I have upgraded my site to the current version of SS, and now neither Userforms or Newsletter modules don't work. Both are exhibiting exactly the same behaviour on both my offline (MAMP) site and online site. They work fine with a fresh install, using the same template etc.

On the published site, the page displays, but the fields etc are missing.

In the CMS, clicking on the appropriate page brings up the biggest popup dialogue box I've ever seen. I can't copy all of the content (cos it extends much further than my screen), but it starts:

ERROR [User Error]: Couldn't run query: 
SELECT `UserDefinedForm_EmailRecipient`.*, `UserDefinedForm_EmailRecipient`.ID, if(`UserDefinedForm_EmailRecipient`.ClassName,`UserDefinedForm_EmailRecipient`.ClassName,'UserDefinedForm_EmailRecipient') AS RecordClassName
FROM `UserDefinedForm_EmailRecipient`
WHERE ((FormID = '3') AND (`FormID` = '3'))
LIMIT 0,10 

Table 'xxx_xxx.UserDefinedForm_EmailRecipient' doesn't exist
IN POST /admin/getitem?ID=3&ajax=1
Line 401 in /Applications/MAMP/htdocs/xxx/sapphire/core/model/MySQLDatabase.php

Source
======
  392: 	}
  393: 	
  394: 	function databaseError($msg, $errorLevel = E_USER_ERROR) {
  395: 		// try to extract and format query
  396: 		if(preg_match('/Couldn\'t run query: ([^\|]*)\|\s*(.*)/', $msg, $matches)) {
  397: 			$formatter = new SQLFormatter();
  398: 			$msg = "Couldn't run query: \n" . $formatter->formatPlain($matches[1]) . "\n\n" . $matches[2];
  399: 		}
  400: 		
* 401: 		user_error($msg, $errorLevel);
  402: 	}
  403: }
  404: 
  405: /**
  406:  * A result-set from a MySQL database.
  407:  * @package sapphire

<ul>user_error(Couldn't run query: 
SELECT `UserDefinedForm_EmailRecipient`.*, `UserDefinedForm_EmailRecipient`.ID, if(`UserDefinedForm_EmailRecipient`.ClassName,`UserDefinedForm_EmailRecipient`.ClassName,'UserDefinedForm_EmailRecipient') AS RecordClassName
FROM `UserDefinedForm_EmailRecipient`
WHERE ((FormID = '3') AND (`FormID` = '3'))
LIMIT 0,10 

Table 'xxx_xxx.UserDefinedForm_EmailRecipient' doesn't exist,256)
line 401 of MySQLDatabase.php

Any help greatly appreciated.

Thanks

Avatar
bones

Community Member, 110 Posts

28 October 2009 at 1:05am

I've still been unable to fix this.

I have tried-
- uninstalling the module
- manually deleting tables from the MySQL database
- Running a Repair on the MySQL database
- Optimising the tables in MySQL

After each thing I try, I always run a dev/build and a ?flush=all, then reupload the module and run dev/build and a ?flush=all again. Every time, I get the same problem.

Has anybody got any ideas?

Thanks

Avatar
bones

Community Member, 110 Posts

31 January 2010 at 3:40am

I now have this problem on a second site. Can anybody help me?

Avatar
bones

Community Member, 110 Posts

31 January 2010 at 6:54am

This is completely bizarre now!

I have downloaded SS 2.3.5 and Userforms 2.1, done a fresh install on my Mac (MAMP), copied the templates and modules from other non-working site, and it works perfectly.

I deleted the old online site, including the MySQL database and users, and uploaded the new working site. Guess what? Exactly the same problem as before! The local and online sites are IDENTICAL! How can Userforms work on one but not the other?