php会话在提交时创建和销毁?

时间:2009-12-02 09:15:49

标签: php

鉴于提交给自己的php表单, 通过<?php echo $_SERVER[‘PHP_SELF’];?>

与一些html和一个提交按钮相同的表单

<label for="submit">Submit</label>
<input id="submit" type="submit" value="Submit Info:" /><br />

如何设置,以便在用户输入完所有相关内容后 表单上的信息(one,form.php),没有任何错误,会话被压缩后销毁 提交按钮。

我知道这会开始一个会话:

<?php session_start() ?>

在表格的顶部。

这会破坏会话变量

session_destroy();

我是否必须这样做:

$_SESSION[‘submit’] = ‘submit’;

我试图避免为我的表单上的每个变量创建会话 例如,

名称

年龄

听起来为每个人创建会话需要做很多工作 在给定形式上的变量,这就是为什么我在这里寻求答案,同时 我会在会议上阅读更多内容,谢谢你们不要点燃新词。

2 个答案:

答案 0 :(得分:2)

为什么你正在使用会话?如果是formprocessing你应该使用POST或替代GET。 SESSIONS是存储配置,访问级别设置,购物车等的好方法。

顺便说一句,如果你打算使用会话,你也可以创建一个会话并将所有sessiondata存储在一个数组中,然后将该数组提交给$_SESSION["mySession"]

E.g。如果您在页面上显示的博客数量最多,则可以像$_SESSION["mySession"]["maximum_amount_of_weblogs_per_page"]一样检索。

然后,您必须将array("maximum_amount_of_weblogs_per_page" => 10);添加到$_SESSION["mySession"]

希望它对你有用。

答案 1 :(得分:1)

会话和表单是两回事。我不太了解你想要的东西,首先你谈到破坏一个会话,就像你说的那样,用session_destroy();完成 - 然后你谈论你的形式的变量......

提交的表单将数据存储在$_GET$_POST - 变量中,而不是$_SESSION - 如果您不想这样,那么表单的重点是什么?< / p>

请参阅,如果用户点击提交会发生什么?表格提交到同一页面,到目前为止我已经得到了。

但为什么你认为你为表格中的每个字段创建一个$_SESSION