将表单数据存储为会话variables
所以我想知道是否有可能将来自表单的数据存储为会话variables。
下面是我到目前为止,但我不知道如何为表格行动。
感谢您的期待!
<strong>Test Form</strong> <form action="" method"post"> <input type="text" name="picturenum"/> <input type="submit" name="Submit" value="Submit!" /> </form> <? if (isset($_POST['Submit'])) { $_session['picturenum'] = $_POST['picturenum']; } ?> <strong><? echo $_session['picturenum'];?></strong>
要使用会话variables,需要使用session_start
函数来启动会话,这将允许您以持久的方式将数据存储在全局variables$_SESSION
中。
所以你的代码最终会看起来像这样:
<strong>Test Form</strong> <form action="" method"post"> <input type="text" name="picturenum"/> <input type="submit" name="Submit" value="Submit!" /> </form> <?php // starting the session session_start(); if (isset($_POST['Submit'])) { $_SESSION['picturenum'] = $_POST['picturenum']; } ?> <strong><?php echo $_SESSION['picturenum'];?></strong>
为了使其易于使用,并避免再次遗忘,您可以创build一个session_file.php
,它将包含在您的所有代码中,并将为您启动会话
session_start.php
<?php session_start(); ?>
然后将其包含在任何你喜欢的地方:
<strong>Test Form</strong> <form action="" method"post"> <input type="text" name="picturenum"/> <input type="submit" name="Submit" value="Submit!" /> </form> <?php // including the session file require_once("session_start.php"); if (isset($_POST['Submit'])) { $_SESSION['picturenum'] = $_POST['picturenum']; } ?>
这是未来维护更便携,更简单的方法。
其他评论
-
如果您使用的是Apache版本2或更高版本,请小心谨慎,而不要使用
<?
打开php的标签,使用<?php
,否则你的代码不会被解释 -
PHP中的variables名称区分大小写,而不是写$ _session,用大写字母写$ _SESSION
做得好!
这是完美的,将工作。 但要使用会话,你必须把session_start();
在PHP代码的第一行。 所以基本上
<?php session_start(); //rest of stuff ?>
是的,这是可能的。 kizzie与session_start();
是正确的session_start();
必须先走。
我做的另一个观察是你需要过滤你的表单数据使用:
strip_tags($value);
和/或
stripslashes($value);
你可以使用这个代码来解决这个问题:
if(!empty($_GET['variable from which you get'])) { $_SESSION['something']= $_GET['variable from which you get']; }
所以你从一个GET表单获得variables,当$ _GET ['你得到的variables']被设置,并且它是空的时,你将存储$ _SESSION ['whatever']variables一次$ _SESSION ['something' ]将存储旧的参数