将表单数据存储为会话变量

Kev*_*son 18 html php forms 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>
Run Code Online (Sandbox Code Playgroud)

Fop*_*tin 35

要使用会话变量,必须使用该session_start函数启动会话,这将允许您以$_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>
Run Code Online (Sandbox Code Playgroud)

为了使其易于使用并避免再次忘记它,您可以创建一个session_file.php将包含在您的所有代码中并将为您启动会话

session_start.php

 <?php
   session_start();
 ?> 
Run Code Online (Sandbox Code Playgroud)

然后将它包含在任何你喜欢的地方:

<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'];
 } 
?> 
Run Code Online (Sandbox Code Playgroud)

这是未来更便携,更容易维护的方式.

其他言论

  • 如果您使用的是Apache 2或更高版本,请小心而不是
    <?
    打开php的标签,使用 <?php,否则您的代码将不会被解释

  • php中的变量名是区分大小写的,而不是写$ _session,用大写字母写$ _SESSION

干得好!


kjo*_*876 7

这非常好,并且会起作用.但要使用会话,你必须放在session_start();PHP代码的第一行.所以基本上

<?php
session_start();

//rest of stuff

?>
Run Code Online (Sandbox Code Playgroud)