0

我对 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'上检索这个值......

4

2 回答 2

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
}
于 2013-09-12T20:05:54.557 回答
1

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

于 2013-09-12T20:05:48.013 回答