A long-awaited PHP 4.0 feature is session support. In contrast, PHP 3.0 users have to use third-party libraries or cannot implement this functionality at all. The lack of session support is where PHP is most criticized. However, session support has been part of PHP 4.0 since early beta releases, so this issue has been eliminated. You can use sessions to maintain user-specific variables during a user's visit to a website without having to set multiple cookies, use hidden form fields, or store information in a database that you may frequently connect to. Starting a session on a page tells the PHP engine to either start a session (if it has not been started before) or continue the current session: session_start(); Starting a session will send an authentication string to the user through a cookie (such as 940f8b05a40d5119c030c9c7745aead9) ; On the server side, a corresponding temporary file with the same name will be created, such as sess_940f8b05a40d5119c030c9c7745aead9. This file contains registered session variables and their values. The most common example of displaying session actions is access counters: Start your PHP module and make absolutely sure that the PHP code is the first line of the file: no whitespace, no HTML output, etc. The reason is that when the session function sends a file header, if blank or HTML output is sent before calling the session_start() function, the system will error. //如果会话对用户并不存在,启动一新会话 session_start(); 接下来,注册count变量。 session_register(count); 注册变量即告之PHP:只要在会话存在时,一个名叫count的变量也就存在。目前此变量还没有赋值。不过,如果你对其加1,则值即可被赋为1: $count++; 把以上各点一并考虑,你已经完成以下工作:启动了一个会话(如果先前没有)、为某个用户分配了会话标识(如果不存在会话标识)、注册了名为count的变量并把$count加1以表示此次为用户首次访问页面: 要显示用户在当前会话中已经访问页面次数,只需要输出$count的值: echo "
Youve been here $count times.
"; The entire access counter code is as follows: session_start(); session_register(count); $count++; echo "
Youve been here $count times.
"; ?> If you reload the above script, you can find that the count value increases. This is indeed exciting. Arrays can also be registered in the session. Assume you already have an array named $faves: $faves = array (chocolate,coffee,beer,linux); You can register the array like any other single variable: session_register(faves); Applying an array is the same as applying any other individual variable. Such as $faves. If a user wants to display their hobbies live on one page of the Web site, they can register the user's hobbies in a session variable called $faves and output these values on another page: session_start(); echo "My user likes:
"; while (list(,$v ) = each ($faves)) { echo "- $v"; } echo "
"; ?> This will give you a nice and concise list showing the user's preferences. Session variable values cannot be query strings. Overridden, that is, you cannot assign a new value to the registered session variable $count by typing http:///www.yourdomain.com/yourscript.php?count=56 This is critical for security: You can only modify or delete (unregistered) session variables through scripts on the server side. If you want to completely delete a session variable, you should unregister the variable from the system: session_unregister(count); To completely delete a session, press Logout button, the following script is relatively concise: session_destroy(); Using sessions to store variable values reduces the load on the database connection and avoids writing nightmarishly complex code and using a large privacy statement to explain why the data is sent to the user during the access process. Up to 50 cookies, and now you only need one cookie and one variable - like a drop of water reflecting the whole world - it doesn't get any simpler than this!
http://www.bkjia.com/PHPjc/531884.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/531884.htmlTechArticleA long-awaited PHP 4.0 feature is session support. In contrast, PHP 3.0 users have to use third-party libraries or cannot implement this functionality at all. And the lack of session support...