Content Management
Remember Me, Movable Type
Freshness Warning
This blog post is over 21 years old. It's possible that the information you read below isn't current and the links no longer work.
5 Aug 2003
It’s been pointed out a few times that my comment forms don’t always remember you when you check the box. That’s fixed, and here’s a few tips on making your MT comments work better.
First, the problem that my comments form had was that the MT comment JavaScript sets the cookie path to a blank string. This causes the browser to only set the cookies in the current directory. So if your entries are in multiple directories like mine, the cookies don’t work.
The other cookie-related problem that many sites have is that their site is available at www.site.com and site.com. As far as the computer is concerned, those two addresses might be different servers and a cookie is only available on the hostname that it was set for. When someone enters a comment at www.site.com the cookie is set for the hostname www.site.com. If the user then later visits site.com, the cookie isn’t available, so the form contents aren’t remembered.
A simple adjustment to your MT cookie code will fix both these problems. Just change the rememberMe and forgetMe JavaScript so that they set cookies with the proper host and the root path. Here’s a copy of each function, already modified. Just change the ‘site.com’ to your server’s name.
function rememberMe (f) { var now = new Date(); fixDate(now); now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000); setCookie('mtcmtauth', f.author.value, now, '/', 'site.com', ''); setCookie('mtcmtmail', f.email.value, now, '/', 'site.com', ''); setCookie('mtcmthome', f.url.value, now, '/', 'site.com', '');}function forgetMe (f) { deleteCookie('mtcmtmail', '/', 'site.com'); deleteCookie('mtcmthome', '/', 'site.com'); deleteCookie('mtcmtauth', '/', 'site.com'); f.email.value = ''; f.author.value = ''; f.url.value = '';}
The other usability problem that most MT comment forms have is even when the form contents are remembered, the Remember Me checkbox or radio button is not. Users often don’t know if they need to check the box again in order for their information to continue to be remembered. So to be on the safe side, they check the box every time they enter a comment.
If the user’s information is remembered and you have a checkbox labeled “Remember Me,” the state of the checkbox should be remembered as well. This is very simple to do as well. Find the JavaScript code that writes the user’s remembered information into the form and add a few lines that sets the state of the checkbox. Right after the line that says:
document.comments_form.url.value = getCookie("mtcmthome");
Add the following…
if (getCookie("mtcmtauth")) { document.comments_form.bakecookie.checked = true;}
By making it easier for people to comment on your blog, more people will. And more people commenting means more traffic for your site.