无法设置基于用户输入post方法的变量

时间:2012-04-07 11:21:12

标签: php

您好我正在尝试将post方法中的信息设置为一个变量,该变量将名为name的会话设置为用户输入的值。我收到以下错误:

  

注意:未定义的索引:第18行的F:\ xampp \ htdocs \ Impossible game \ index.php中的名称

     

这是第18行:$ session = $ _POST ['name'];

<form action="ms1.php" method="POST">
Name <input type="text" name="name">
<input type="Submit" value="Begin">
</form>
<?php
$session = $_POST['name']; 
session_start();
$_SESSION['name'] = $session;

上一个错误消失了,现在出现

  

注意:未定义的变量:F:\ xampp \ htdocs中的会话\第23行的Impossible game \ index.php是第23行

 $_SESSION['name'] = $session;

3 个答案:

答案 0 :(得分:1)

下面的代码已注释但未经测试。如果他们有任何问题,请告诉我。

    <?php
    if(isset($_POST['name'])){           //if the post has been set
        $session = $_POST['name'];       // Store the session in the variable
        session_start();
        $_SESSION['name'] = $session;    // Store the name in a session for later use
header("location:index.php");    // Redirect the user     ##UPDATE##
    }   else    {
        //if post has not been set, show the form
    ?>
    <form action="ms1.php" method="POST">
    Name <input type="text" name="name">
    <input type="Submit" value="Begin">
    </form>
    <?php
    }

答案 1 :(得分:0)

您应该在使用之前检查变量,索引,偏移是否已设置。

if (isset($_POST['name']))
{
   $session = $_POST['name']; 
}

答案 2 :(得分:0)

首先,HTML部分和PHP部分是两个不同的东西:

index.html

<form action="ms1.php" method="POST">
      Name <input type="text" name="name">
      <input type="Submit" value="Begin">
</form>

<强> ms1.php

<?php
     if (isset($_POST['name']))
             $session = $_POST['name']; 

     session_start();
     $_SESSION['name'] = $session;
?>