显示会话变量

时间:2013-05-30 14:52:53

标签: php html html5 session variables

有人可以告诉我为什么在我按提交后变量没有以粗体显示?本质上我想要做的是在第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>

感谢您的时间

4 个答案:

答案 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>