有人可以告诉我为什么在我按提交后变量没有以粗体显示?本质上我想要做的是在第1页上询问用户,有名称...然后几页后面在隐藏的输入表单字段中显示该名称,但我似乎无法让它在同一页面上工作不要介意几页之后。
<body>
<strong>Test Form</strong>
<form action="" method"post">
<input type="text" name="picturenum"/>
<input type="submit" name="Submit" value="Submit!" />
</form>
<?php
// starting the session
session_start();
if (isset($_POST['Submit'])) {
$_SESSION['picturenum'] = $_POST['picturenum'];
}
?>
<strong><?php echo $_SESSION['picturenum'];?></strong>
</body>
感谢您的时间
答案 0 :(得分:2)
session_start应该位于您的脚本的顶部,之前有任何输出,因为它会将会话标头发送到浏览器。试试这个:
<?php
session_start();
?>
<body>
<strong>Test Form</strong>
<form action="" method="post">
<input type="text" name="picturenum"/>
<input type="submit" name="Submit" value="Submit!" />
</form>
<?php
if (isset($_POST['Submit'])) {
$_SESSION['picturenum'] = $_POST['picturenum'];
}
?>
<strong><?php echo $_SESSION['picturenum'];?></strong>
</body>
答案 1 :(得分:2)
你有一个错字:
<form action="" method"post">
应该是<form action="" method="post">
这会导致您的表单作为GET请求提交。这意味着您的vars位于$_GET
而不是$_POST
。
答案 2 :(得分:1)
尝试将<form action="" method"post">
更改为<form action="somepage.php" method="post">
。
请注意,您忘记了=
之后的method
。
如果您要将表单提交到其所在页面,请使用<form action="<?php $_PHP_SELF ?>" method="post">
。
编辑:似乎只需要=
来修复您的脚本。
答案 3 :(得分:1)
<html>
<body>
<strong>Test Form</strong>
<form action="" method="post">
<input type="text" name="picturenum"/>
<input type="submit" name="Sub" value="Submit" />
</form>
<?php
session_start();
$_POST['picturenum'];
$_SESSION['picturenum1'] = $_POST['picturenum'];
$_SESSION['picturenum1'];
?>
<strong><?php echo $_SESSION['picturenum1'];?></strong>
</body>
</html>