Re: Auth not working properly when loading new page, and youneed to be authed
| From: | Justin Patrin | Date: | Wed, 22 Jun 2005 15:14:50 +0000 |
| Subject: | Re: Auth not working properly when loading new page, and youneed to be authed | ||
| References: | 1 2 3 4 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-19724@lists.php.net to get a copy of this message | ||
On 6/22/05, Torbjørn Amundsen <torbjoam@stud.ntnu.no> wrote:
> Ok, I think this might be a common problem with php, frames and cookies,
> but Im not sure. Is the a phpcode to force the frame to recognize the
> cookie that Auth makes?
As I said, it's best to do the login from a no-frames page. Why can't
you do that? I doubt you're going to find another easily workable
solution.
>
> TØA
>
> Torbjørn Amundsen wrote:
>
> > Justin Patrin wrote:
> >
> >> On 6/19/05, Torbjørn Amundsen <torbjoam@stud.ntnu.no> wrote:
> >>
> >>> Hi!
> >>>
> >>> Im using AUTH 2.1.3 DB 1.7.5 PEAR 1.3.5.
> >>>
> >>> I have this odd problem which I cant identify. Everything is working
> >>> fine except for one thing. Im using two frames (yes, I too dont like
> >>> frames, but...). In one of the them there are links that show up only
> >>> when $session->getAuth() is true. I login, the links show up, but when I
> >>> click the links to load a page into the other frame (which checks if you
> >>> are logged in), I only get the internal login again. Then if I reload
> >>> page, and click the link again, everything is fine. Does anyone know
> >>> what causes this? I tried to look at earlier posts, but I couldnt find
> >>> anything similar. Please help me as Ive been stuck with this problem for
> >>> a couple of weeks... :-\
> >>>
> >>
> >>
> >> I suggest:
> >>
> >> If the user is not authed, redirect to a non-frames login page. Then
> >> upon login redirect back to the frames.
> >>
> >
> > Can't do that. The problem is there because the user is authed, but it
> > seems the system is not picking it up.
> >
> > Im using an ordinary login like this:
> >
> > function loginFunction()
> > {
> > /**
> > * Change the HTML output so that it fits to your
> > * application.
> > */
> > print "<form method=\"post\" action=\"" .
> > $_SERVER['PHP_SELF'] .
> > "\">";
> > print "Username:";
> > print "<input type=\"text\" name=\"username\">";
> > print "Password:";
> > print "<input type=\"password\"
> > name=\"password\">";
> > print "<input type=\"submit\" value='Log in'>";
> > print "</form><br>";
> > print "If you are not registered, please do so <a
> > href='register.php' target='mainFrame' >here. </a>\n";
> > }
> >
> > $dsn =
> > "mysql://torbjoam_master:Reiki1602@mysql.stud.ntnu.no/torbjoam_master_email";
> >
> > $a = new Auth("DB", $dsn, "loginFunction");
> > $a->start();
> >
> > Then I check on an another page loaded in another frame if $a->getAuth()
> > (tried with checkAuth also), which is false. Not until I reload, this
> > turns true, and I cant figure out why this is. My best guess is that the
> > session data does not reach the frame in question, but I have no idea as
> > to how to correct it. :-(
> >
> > TØA
>
> --
> PEAR General Mailing List (http://pear.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
--
Justin Patrin