通过php设置会话并有选择地加载html

时间:2013-11-03 07:46:43

标签: php html forms session

我是php和web服务器技术的新手,所以请耐心等待。我正在尝试拥有一个包含表单的网页。表单已提交,如果数据正确,则重新加载并加载不同的html。这是我的代码:

<?php

session_start();
$_SESSION['user'] = "";
$_SESSION['pass'] = "";

echo "This is the front page. Please input your data";

if($_SESSION['user'] != 'asdf'){
    $html = file_get_contents('scripts/login.html');
    echo $html;
$_SESSION['user'] = $_POST['user'];
}

if($_SESSION['user'] == "awedes"){
   $html =  file_get_contents('scripts/strsd.html');
   echo $html;
 }

到目前为止,我认为这很好。我有一个表单,并通过登录,它说提交。我希望页面重新加载,但这次我想将SESSION ['user'] =设置为输入。表单看起来像这样:

<form action="/" method="post">
    <input type="text" name="user" value=""/>
    <input type="submit" value="Submit"/>
</form>

我的问题:如何设置SESSION ['user']以便在我点击表单提交时,'user'输入成为SESSION。 感谢

1 个答案:

答案 0 :(得分:0)

在您的代码中,

请删除会话初始化行

$_SESSION['user'] = "";
$_SESSION['pass'] = "";

原因是,无论何时提交表单会话都为空,以便下面的条件不起作用,并确保

     if($_SESSION['user'] != 'asdf')  

以上行,是否需要处理空用户值?,

echo "This is the front page. Please input your data";

 if($_SESSION['user'] != 'asdf'){
        $html = file_get_contents('scripts/login.html');
        echo $html;
        $_SESSION['user'] = $_POST['user'];
    }

    if($_SESSION['user'] == "awedes"){
       $html =  file_get_contents('scripts/strsd.html');
     echo $html;
   }