表单中的PHP会话数据未传递和/或未打印到屏幕
我正在玩弄我的Raspberry Pi 3作为web服务器 我想了解更多关于通过表单处理用户输入的信息 我在表单中的PHP会话数据未传递和/或未打印到屏幕,php,html,forms,raspberry-pi,Php,Html,Forms,Raspberry Pi,我正在玩弄我的Raspberry Pi 3作为web服务器 我想了解更多关于通过表单处理用户输入的信息 我在/var/www/html中有两个文件,即form.html和form.php: <?php session_start(); $var_value = htmlspecialchars($_SESSION['varname']); echo $var_value; ?> form.html: <form action="form.php
/var/www/html
中有两个文件,即form.html
和form.php
:
<?php
session_start();
$var_value = htmlspecialchars($_SESSION['varname']);
echo $var_value;
?>
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.html
上,浏览器将带我进入form.php
,其中显示一个空白页面
当然,我希望它将$var\u value
打印到屏幕上
我的代码中是否存在问题,或者可能是其他服务器端问题?将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>
<?php
session_start();
if (isset($_POST['Submit'])) {
$_SESSION['varname'] = $_POST['varname'];
$var_value = htmlspecialchars($_SESSION['varname']);
echo $var_value;
}
?>
some_form.php
<form action="some_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'];
$var_value = htmlspecialchars($_SESSION['varname']);
echo $var_value;
}
?>
将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>
<?php
session_start();
if (isset($_POST['Submit'])) {
$_SESSION['varname'] = $_POST['varname'];
$var_value = htmlspecialchars($_SESSION['varname']);
echo $var_value;
}
?>
some_form.php
<form action="some_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'];
$var_value = htmlspecialchars($_SESSION['varname']);
echo $var_value;
}
?>
它已经在两个页面的PHP代码块的第一行;是否应该在整个文档的开头?您的服务器配置是否允许在*.html
文件中执行PHP代码?尝试将*.html
文件更改为*.php
并尝试结果。将文件名从form.html更改为form.phpPHP默认情况下,代码不会在扩展名为.html
的文件中运行。因此form.html
中的代码将不会运行。此外,PHP代码在抛出页面之前运行,因此form.html
中的PHP代码将无法工作,即使它已运行,因为varname
不存在,直到您将该页面提交到form.PHP
scriptAndsession\u start()
应该是文件中的第一行,否则将发送标题,其中包含无法按预期启动会话的内容;是否应该在整个文档的开头?您的服务器配置是否允许在*.html
文件中执行PHP代码?尝试将*.html
文件更改为*.php
并尝试结果。将文件名从form.html更改为form.phpPHP默认情况下,代码不会在扩展名为.html
的文件中运行。因此form.html
中的代码将不会运行。此外,PHP代码在抛出页面之前运行,因此form.html
中的PHP代码将无法工作,即使它已运行,因为varname
不存在,直到您将该页面提交到form.PHP
scriptAndsession\u start()
应该是文件中的第一个标题,否则将发送标题,其中的内容将无法按预期启动会话。谢谢。我现在有两个页面,一个是html
,另一个是php
。html
文件不包含session_start()代码>。现在一切都很好,谢谢。我现在有两个页面,一个是html
,另一个是php
。html
文件不包含session_start()代码>。现在一切都很好。