Re: Session: I RTFM
| From: | John Taylor-Johnston | Date: | Sun, 15 Dec 2002 01:30:01 +0000 |
| Subject: | Re: Session: I RTFM | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-128312@lists.php.net to get a copy of this message | ||
Thanks.
John
> When faced with this problem I tried the following (works)
>
> The top section of PHP code just reads the POST return array
> and plops it into a series of successive _SESSION vars
>
> Included is a FORM to use that shows the simple code at work
>
> HTH
> TomHenry
>
> ================ Tested =================
> <?
> session_start();
>
> //echo "<HR>List the _POST key/val pairs<P>";
>
> // Try to cycle though the _POST vars
> // and use them as input to creating _SESSION vars
>
> while(list($k,$v)=each($_POST)){
> $_SESSION[$k]=$v;
> //echo "_name_ <b>".stripslashes($k)."</b> _value_
> <b>".stripslashes($v)."</b><br>";
> }
>
> // easy way to peek at the contents of what we just did
>
> echo "<hr>print_r of the \$_SESSION array<P>";
> print_r($_SESSION);
> echo "<hr>";
> ?>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
>
> <html>
> <head>
> <title>Nextpage</title>
> </head>
>
> <body>
> <P><HR><P>
> <b><u>Is our _SESSION here?</u></b>
> <P>
> <Table width=60% border=1 cellspacing=0 cellpadding=5>
> <TR><TH>Key</TH><TH>Value</TH></TR>
> <?
> while(list($k,$v)=each($_SESSION)){
> echo
>
> "<TR><TD>".stripslashes($k)."</TD><TD>".stripslashes($v)."</TD></TR>";
> }
> ?>
> </TABLE>
> <P><HR><P>
> <form action=<?=$PHP_SELF?> method=POST>
> key <input type="text" name="key" value='KeyOne'
> size="15"
> maxlength="25"> -- value <input type="text" name="value"
> value='ValueOne' size="30" maxlength="80">
> <br>
> Name: <input type='text' name='name' value="Tim O'Toole "
> size='12'>
> -- Address: <input type='text' name='address' value='123 Main
> Street'>
> <input NAME=action type=submit value="Submit">
> </form>
> <P><HR><P>
> </body>
> </html>
>
> John Taylor-Johnston wrote:
> >>Jason wrote:
> >>RTFM again.
> >
> >
> > Jason, again, I RTFM, but did not get it working.
> > Otherwise I wouldn't have dared ask a question.
> >
> >
> >>Sessions depends on a number of factors
> >>including your version of PHP and the setting of register_globals.
> >
> >
> > The FM manual says:
> >
> > "$_SESSION (or $HTTP_SESSION_VARS with PHP 4.0.6 or less) is recommended"
> >
> > So I am using "PHP Version 4.1.2" (and "4.2.3" on my localhost to test
> > offline)
> >
> > Ok. I quit using $HTTP_POST_VARS["familyname"].
> >
> > With a little rethinking, I have this working, I hope.
> >
> > Now ... is there a cleaner way to assign my variable "familyname"?
> >
> > Pseudo code:
> >
> > if _post["familyname"] exists set session variable
> > (no sense in setting it until I post it)
> > if _session["familyname"] exists, $familyname =
> > $_SESSION["familyname"];
> >
> > I'll have about 30 variables. Going to be alot of lines. There must be an easier,
> > cleaner way?
> >
> >
> > <?php
> > #session_name("TestALS");
> > session_start();
> >
> > if (isset($_POST["familyname"]))
> > {
> > session_register("familyname");
> > $familyname = $_POST["familyname"];
> > echo "Yay: \$familyname= $familyname<br>";
> > }
> >
> > if (isset($_SESSION["familyname"]))
> > {
> > $familyname = $_SESSION["familyname"];
> > echo "yay session works, \$familyname= $familyname<br>";
> > }
> >
> >
> >
--
John Taylor-Johnston
-----------------------------------------------------------------------------
"If it's not open-source, it's Murphy's Law."
' ' ' Collège de Sherbrooke:
ô¿ô http://www.collegesherbrooke.qc.ca/languesmodernes/
- Université de Sherbrooke:
http://compcanlit.ca/
819-569-2064