会话数据不显示

杰西

我有一个页面来检查 $_POST 是否已设置,然后将发布数据保存到会话变量 $_SESSION。当页面重定向时,它不会在结果页面上显示会话数据。当我执行 print_r($_SESSION) 时,它显示一个空数组。在每个页面上,我都包含一个名为 include.php 的文件。在该页面中,我执行以下操作

<?php session_start(); ?>

索引.php

<?php 

 include 'assets/include.php';
 require 'assets/dbinfo.php';

 $query = "SELECT * FROM Authors ORDER BY first_name";
 $resultObj = $connection->query($query);

 if(count($_POST))
 {
   $_SESSION['formPostData'] = $_POST;
   header('Location: final.php');
 }

?>

<!DOCTYPE html>
<html>
    <head>
        <title>PHP Fundamentals</title>
        <link href="assets/styles.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <div id="Header">
            <img src="assets/Dickens_Gurney_head.jpg" border="0" alt="">
            <h2>
                Join Our Literature Mailing List
            </h2>
        </div>        
        <div id="Body">
            <form method="post" action="index.php" >
                <div>
                    <label>Favorite Author:</label>
                    <select name="author">
                        <?php while($row = $resultObj->fetch_assoc()): ?>
                            <option value="<?=$row['id']?>"><?=$row['first_name']?> <?=$row['last_name']?></option>
                        <?php endWhile; ?>
                    </select>
                </div>      
                <div class="multiple">
                    <label>Favorite Century:</label>
                    17th Century <input type="checkbox" name="century[]" value="17th">
                    18th Century <input type="checkbox" name="century[]" value="18th"> 
                    19th Century <input type="checkbox" name="century[]" value="19th"> 
                </div>
                <div>
                    <label>Comments:</label>
                    <textarea name="comments"></textarea>
                </div>
                <div>
                    <label>Name:</label>
                    <input type="text" name="name" />
                </div>
                <div>
                    <label>E-mail Address:</label>
                    <input type="text" name="email" />
                </div>
                <div  class="multiple">
                    <label>Receive Newsletter:</label>
                    Yes <input type="radio" name="newsletter" value="yes">
                    No <input type="radio" name="newsletter" value="no">
                </div>
                <div class="multiple">
                    <label>&nbsp;</label>
                    <input type="submit" name="submit" value="Join Mailing List">
                </div>
            </form>
        </div>
    </body>
</html>

最终版.php

<?php

include 'assets/include.php';

echo "<pre>";
print_r($_SESSION);
echo "</pre>";

$postedData = $_SESSION['formPostData'];

?>

<!DOCTYPE html>
<html>
    <head>
        <title>PHP Fundamentals</title>
        <link href="assets/styles.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <div id="Header">
            <img src="assets/Dickens_Gurney_head.jpg" border="0" alt="">
            <h2>
                Mailing List Information
            </h2>
        </div>        
        <div id="Body">
            <div>
                <label>Favorite Author:</label> 
                <span><?=$postedData['author']?>&nbsp; </span>
            </div>      
            <div>
                <label>Favorite Century:</label>
                <span><?=$postedData['century']?>&nbsp; </span>
            </div>
            <div>
                <label>Comments:</label>
                <span><?=$postedData['comments']?>&nbsp; </span>
            </div>
            <div>
                <label>Name:</label>
                <span><?=$postedData['name']?>&nbsp; </span>
            </div>
            <div>
                <label>E-mail Address:</label>
                <span><?=$postedData['email']?>&nbsp; </span>
            </div>
            <div>
                <label>Receive Newsletter:</label>
                <span><?=$postedData['newsletter']?>&nbsp; </span>
            </div>
        </div>
    </body>
</html>
无名的

看起来您的表单直接发布到final.php,因此您应该能够访问$_POST.

它不会被设置为会话,因为其中的代码index.php没有运行(表单发布到另一个文件)

如果要将数据设置到会话中,则应在final.php.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章