$ _POST []不起作用

时间:2013-02-11 05:37:21

标签: php post

我是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>

welcome1.php

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

3 个答案:

答案 0 :(得分:1)

您的代码位于错误的文件中。

这应该都在welcome1.php中,目前它在new1.php中。

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

答案 1 :(得分:0)

你的代码错了。只是因为需要在发送标题之前运行session_start()。

您案例中的解决方案是:

移动session_start();以上&lt; HTML ...

请访问: Why can't I use session_start() in my php script? It says headers are already sent

答案 2 :(得分:0)

问题是因为您将表单发布到welcome1.php(表单的操作)和代码以获取post值为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>

<强> welcome1.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.
?>