PHP存储会话中的按钮名称

时间:2013-09-12 20:02:21

标签: php forms session

我是非常非常新的PHP并且已经运行了一些教程。我有一个带有三个按钮的简单页面。当用户单击按钮时,我想在会话中存储按钮的名称。这就是我所拥有的:

<?php
    session_start();
    $rep = $_SESSION[' *** selected button name ***'];
?>
<body>
  <form method='post' action='dpuform.php' target='_blank'>
    <input type='submit' name='sales' value='Sales'/><br/>
    <input type='submit' name='engineering' value='Engineering'/><br/>
    <input type='submit' name='production' value='Production'/><br/>
  </form>
</body>

然后我需要在下一页'dpuform.php'中检索这个值......

2 个答案:

答案 0 :(得分:2)

您实际上无法存储从同一页中的会话变量中单击的按钮,因为这是客户端代码。还有其他方法(1. ajax,2。使用$_POST值在表单提交的页面上添加会话变量,以及...),最简单的如下:如果您只需要访问从“dpuform.php”单击按钮,而不是在该页面中使用$_POST变量来获取所选按钮的值。

dpuform.php

if(isset($_POST['sales'])){
   //sales button
} else if(isset($_POST['engineering'])){
   //sales button
} else if(isset($_POST['production'])){
   //sales button
} else{
   //error handling
}

答案 1 :(得分:1)

您将面临此任务的基本问题是HTML在客户端(在浏览器中)运行,而PHP代码在服务器端运行。这意味着,为了在会话中存储任何内容,您实际上需要将数据传输到服务器端,例如使用表单提交。因此HTML代码被发送到浏览器,用户填写它并将其提交回服务器。然后你可以存储数据,而不是之前。这意味着没有“直接”方式将PHP代码连接到HTML,您必须从请求变量($ _GET,$ _POST等)中提取数据并单独处理。