|
 John Borda - 2007-12-17 21:29:11
Apart from needing SDD/class.SDD.php from one of your other classes, I don't have full control over my database (I only have one) so am trying to understand where the problem is when I try to run the SQL file. I get to the point where the grid shows, no images, with the following errors:
Notice: Not enough images for a 3 x 3 grid in /home/...kittenauth/class.KittenAuth.php on line 214
Notice: Not enough images in any image class for 3 answers in /home/.../kittenauth/class.KittenAuth.php on line 250
I think I need to build the MySQL db tables manually- can you help?
Regards,
John Borda
www.bordaline.co.uk
 John Borda - 2007-12-17 21:45:25 - In reply to message 1 from John Borda
Belay that- managed to translate the sql file manually, and guessed to run the installData file, so now it seems to work. Now to add it to something real...
 John Borda - 2007-12-17 22:31:09 - In reply to message 2 from John Borda
... which is where it all falls down again.
Seems to have problems with the "session_start()" as a session is already started?
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/.../kittenauth/kittenform.php:1)
changing the line to: "$sessionstart = @(session_start()) ;"
doesn't help, and it ignores bad input, goes straight to the mail send file.
Any clues?
 Richard Munroe - 2007-12-20 12:50:42 - In reply to message 3 from John Borda
Yeah, I can't always tell what the session structure is. You should be able to prevent this by enclosing the session start call with something like:
if (session_id() == "")
{
session_start() ;
}
which should only start a session when you don't have one already started.
I don't know why I didn't do that in the first place.
Best,
Dick Munroe
p.s. Sorry for the delay in replying, up to my ears in pre-holiday emergencies of various kinds.
 Richard Munroe - 2007-12-20 13:01:33 - In reply to message 3 from John Borda
Actually I DID get things protected with a check for the session id. The thing I CAN'T control is where in the process of generating the page you put the code. If you put it after you've already emitted HTML of any kind, PHP has helpfully put out a bunch of headers and you'll get the error you spotted. To avoid this:
1. First thing in your page's code, create a kittenAuth object.
2. call setAuthorizedInSession so that you get the dispatch right. This creates a session. If you create a session prior to 1, then everything should drop out.
3. Save the list of images necessary to authorize in a session variable of
your choice.
4. Generate your page calling ->form as appropriate to generate your kittenauth form.
This should avoid starting a session "too late".
Best,
Dick Munroe
 John Borda - 2007-12-20 13:29:35 - In reply to message 5 from Richard Munroe
Thanks, will give it a go. Have a site launch tomorrow, so might be a while...
However, it looks like a more friendly CAPTCHA than text-based ones, especially for children/dyslexics, which is why I'm investigating it. I'm normal-sighted, but have trouble making out some text CAPTCHAs. My wife stands no chance, and some of her friends even less.
If I can get it right, then it might well be a selling point for my services.
Cheers,
John
 Richard Munroe - 2007-12-20 18:48:36 - In reply to message 6 from John Borda
From my perspective, it's better because it should be more secure. CAPTCHA is subject to attack through image recognition techniques that are easily implemented and, from personal experience, very effective. I haven't had a single automated attack succeed since bringing put KittenAuth on my phpBB2 implementation as opposed to between 3 and 7 successful attacks per day prior to that (using only CAPTCHA and requiring responses to email to secure the BBS).
Best,
Dick Munroe
|