将表单数据存储为会话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' ]将存储旧的参数