表单中的PHP会话数据未传递和/或未打印到屏幕

时间:2016-09-17 13:13:26

标签: php html forms raspberry-pi

我正在使用我的Raspberry Pi 3作为网络服务器。

我想了解更多关于通过表单处理用户输入的信息。

我在/var/www/html中有两个文件,即。 form.htmlform.php

form.html

<form action="form.php" method="post">
<input type="text" name="varname"/>
<input type="submit" name="Submit" value="Submit!" />
</form>

<?php

    session_start();

    if (isset($_POST['Submit'])) { 
    $_SESSION['varname'] = $_POST['varname'];
    }
?>

form.php

<?php

    session_start();

    $var_value = htmlspecialchars($_SESSION['varname']);

    echo $var_value;

?>

点击“提交”时!在form.html上,浏览器会将我转到显示空白页面的form.php

当然,我希望将$var_value打印到屏幕上。

我的代码中是否存在问题,还是其他服务器端问题?

1 个答案:

答案 0 :(得分:2)

将form.html扩展名更改为form.php,

您可以使用以下代码来完成您的工作。

Form.php //单页

<?php
session_start(); // Should be in first Line
if (isset($_POST['Submit'])) { 
    $_SESSION['varname'] = $_POST['varname'];
    $var_value = htmlspecialchars($_SESSION['varname']);
    echo $var_value;
    }
?>
<form method="post">
<input type="text" name="varname"/>
<input type="submit" name="Submit" value="Submit!" />
</form>
?>

否则: //多页

<强> form.php的

<form action="some_form.php" method="post">
<input type="text" name="varname"/>
<input type="submit" name="Submit" value="Submit!" />
</form>

<强> some_form.php

<?php
session_start();
if (isset($_POST['Submit'])) { 
    $_SESSION['varname'] = $_POST['varname'];
    $var_value = htmlspecialchars($_SESSION['varname']);
    echo $var_value;
    }
?>