0

私はPHPの初心者です。この単純なコードを実行しようとしています。あるphpページからテキストフィールドの値を取得して、別のphpページに表示したい。しかし、それは機能していません。私のエラーはどこですか??

new1.php

<html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>Untitled Document</title>
    </head>

    <body>
        <form action="welcome1.php" method="POST">
            <input name="Name" type="text" />
            <input name="submit" type="submit" value="Submit" />
        </form>
    </body>
    <?php
        SESSION_START();
        $var="";
            if(!empty($_POST['Name'])){
            $var=$_POST['Name'];
        } else {
            $var="NOT SET";
        }
        $_SESSION['name11']=$var;
    ?>
</html>

ようこそ1.php

<html>
    <body>
        <?php
        session_start();
        $n="";
        if(isset($_SESSION['name11'])){
            $n=$_SESSION['name11'];
            echo $n;
        } else {
            echo "no session";
        }
        ?>
    </body>
</html>
4

3 に答える 3

1

あなたのコードは間違ったファイルにあります。

これはすべてwelcome1.phpにあるはずですが、現在はnew1.phpにあります。

<?php
    SESSION_START();
    $var="";
    if(!empty($_POST['Name'])){
        $var=$_POST['Name'];
    }
    else
    {
        $var="NOT SET";
    }
    $_SESSION['name11']=$var;
?>
于 2013-02-11T05:41:13.593 に答える
0

問題は、フォームをwelcome1.php(フォームのアクション)に投稿していて、投稿値を取得するコードがnew1.phpにあるためです。

ファイルを次のように変更します。

new1.php

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>Untitled Document</title>
    </head>
    <body>
        <form action="welcome1.php" method="POST">
            <input name="Name" type="text" />
            <input name="submit" type="submit" value="Submit" />
        </form>
    </body>
</html>

ようこそ1.php

<?php
    session_start();
    $var="";
    if(!empty($_POST['Name'])){
        $var=$_POST['Name'];
    } else {
        $var="NOT SET";
    }
    $_SESSION['name11']=$var;

    echo $_SESSION['name11']; /// you get this $_SESSION['name11'] in all the pages.
?>
于 2013-02-15T04:47:30.380 に答える
0

あなたのコードは間違っています。ヘッダーが送信される前に session_start() を実行する必要があるからです。

あなたの場合の解決策は次のとおりです。

移動 session_start(); 上記 < html ...

参照してください: PHP スクリプトで session_start() を使用できないのはなぜですか? ヘッダーは既に送信されていると表示されます

于 2013-02-11T05:47:41.937 に答える