You are here: Re: Sessions « PHP Programming Language « IT news, forums, messages
Re: Sessions

Posted by alo.and on 12/10/06 12:18

Hi Nico.

>
> <FORM METHOD="POST" ACTION="prova.php">
> <b>Combination</b><br><br>
> Element 1: <INPUT NAME="el1" TYPE="TEXT">
> <BR>
> Element 2: <INPUT NAME="el2" TYPE="TEXT">
> <br>
> <INPUT TYPE="SUBMIT" VALUE"Submit">
> </FORM>
> <br>
> Combination<br><br>
>
> <?php
> session_start();
> $_SESSION['combinations'][] = ($_REQUEST["el1"].$_REQUEST["el2"]);
> print_r($_SESSION['combinations']);
> ?>
>

First, session_start() must be called before any output if you use
Cookie based sessions (the majority of PHP implementations use this
configuration). See
http://www.php.net/manual/en/function.session-start.php for more info.

Then your script should be like this:

---file begin---
<?php

session_start();

?>
<p>Do some output here. <?php echo "Other output here."; ?></p>
<p>Etc.</p>
<?php

// Write something to the _SESSION array
$_SESSION['something'] = "something that sould be saved in session";

?>
---file end---

Doing that, your data contained in $_SESSION array will be saved
between browser requests.

> If I fill the two text fields, reload the page and then fill again the
> two text fields, the new text overwrites the old one.

If you just reload the page the browser will not send any data filled
in forms. To do that you should submit your form, via input with
type="submit" or type="image" or via document.formName.submit()
javascript method.

> I'd like that the array can include both the old and the new text.

You're doing right in this statement:

$_SESSION['combinations'][] = ($_REQUEST["el1"].$_REQUEST["el2"]);

But it could be a bit better, you could save your form data in a more
normalized way, like a form submit history, I guess you want to do
something like that:

$_SESSION['form_history'][] = $_REQUEST;

So, to get the last form post, for example, you could do this way:

$last_request = $_SESSION['form_history'][
count($_SESSION['form_history']) - 1 ];
print_r($last_request);
echo "The last posted value of Element 1 was " .
$last_request['el'];

Note: the example statements was not tested.

Hope I can help you!

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация