[development] Super Ninja Question: Auto-creating user and logging in (worth +15 magic points)
Earnie Boyd
earnie at users.sourceforge.net
Fri Jan 25 12:52:53 UTC 2008
Quoting Rob Barreca <rob at electronicinsight.com>:
> Oh harro,
>
> So an anonymous user hits http://example.com/start-building and we
> want them to be a full-fledged logged in user at the end of the page
> with no redirect to make the session stick. Yes that's right ladies
> and gentlemen, no drupal_goto()!
>
Cool idea.
> The issue is, the session doesn't really stick until the next page
> hit, requiring a drupal_goto(). I've been doing some dumping of
> $_COOKIE to watchdog() and noticed that they have a different sess ID
> on that first hit. Then after doing a drupal_goto() they have another
> sess ID that ends up sticking throughout their session.
>
The session changes because of
<code>
// Even though session_write_close() is registered as a shutdown function, we
// need all session data written to the database before redirecting.
session_write_close();
</code>
from drupal_goto().
> *My question:* How would I give this anonymous user his/her legit
> session all in this same page hit so any AJAX calls they make from
> this same page (remember, no redirect!) will pass the good cookie,
> not this anonymous cookie (mmm, chocolate).
>
Does http://api.drupal.org/api/file/includes/session.inc/5 help?
> Also, this triggered something in my brain about Drupal giving
> anonymous user's first hit a different cookie for some reason or
> another, but I forget exactly why. Is that related to my issue? If
> not, would someone mind explaining that anyways or pointing me in the
> right direction?
>
Since cookies are session driven, probably.
Earnie -- http://for-my-kids.com/
-- http://give-me-an-offer.com/
More information about the development
mailing list