0

セッションを実際に使用したことがないので、愚かな間違いかもしれません。if(isset($_SESSION) を使用すると false が出力されます。これは foreach と関係があると思います。エラーはまったく発生しません。時間を割いて助けてもらえますか?

<?php
    session_start();
    if(isset($_POST['register']))
    {
        require_once('../resources/library/register.class.php');
        //require_once('../resources/library/sessions.class.php');
        $obj_reg = new register();

        $name = $_POST['user'];
        $pass = $_POST['pass'];
        $email = $_POST['email'];

        $checking = $obj_reg->checking($name, $pass);


        //An foreach for converting POST data inside SESSION variables
        //isset checks if the array value contain post variables
        $posts = array($name, $pass, $email); 
        foreach ($posts as $p)
        {
            if(isset($_POST['p'])){
                    $_SESSION['p'] = $_POST['p'];

        }


        }
    }
    ?>

<form method="post" action="index.php?page=register.php">
    <table>
    <tr><td>username:</td><td> <input type="text" name="user"></td></tr>
    <tr><td>password:</td><td> <input type="password" name="pass"/></td></tr>
    <tr><td>email:</td><td> <input type="text" name="email"/></td></tr>
    <?=( !empty( $checking ) ) ? $checking : '' ?>
</table>
    <input type="hidden" name="token" value="<?=$token;?>"/>
    <input type="submit" name="register" value="register"/>
</form>


<?php
    session_start();
    if(isset($_SESSION['p']))
    {
        echo "mama";
    }
    else
    {
        echo "why?";
    }

?>  
4

1 に答える 1

3

session_startを必要とするすべてのページで呼び出す必要があります$_SESSION

$_SESSION[$p] = $_POST[$p]string の代わりに使用することも意味していると思います'p'

于 2012-12-15T16:48:31.960 に答える