【问题标题】:Store Array Variables Through Page Refresh with PHP使用 PHP 通过页面刷新存储数组变量
【发布时间】:2013-01-19 22:11:50
【问题描述】:

所以这是初学者 PHP 课程的第二个作业。作业的一部分要求您允许用户在 HTML 表单中输入多面墙(该程序是一个计算器,用于计算油漆、人工等成本),但是您不知道有多少墙人要进入,所以表单需要是动态的。

我认为我们不允许使用 javascript。

我尝试使用 SESSION 变量将值存储到数组 (how to store variable values over multiple page loads) 并使用 foreach 函数循环和保存数据 (How to store values from foreach loop into an array?)。

似乎没有任何效果。在这个作业中,我们不应该使用 SQL。

还有另一种存储数组的方法吗?我也很高兴有一种方法可以回显数据并将其保留在那里直到缓存被清除。

这是我现在的代码(抱歉有点乱):

print_r($_POST);
      echo "<br />";
      print_r($_REQUEST['wallW']);
      echo "<br />";

      echo "<br />";
      $wallW = $_REQUEST['wallW'];         
      echo "The width is $wallW.";
      echo "<br />";      
      print_r($wallW);

       $_SESSION['wallW'] = $wallW;
        $wallW = $_SESSION['wallW'];


    ?>


            <form name="getOrderInfo" action="" onsubmit="" method="post">
            <table id="wallInfo">
                <th>
                    Order Information
                <th>
                <tr>
                    <td>
                        Wall Width:
                    </td>
                    <td>
                        <input type="text" name="wallW[]" id="wallW" size="20"  value="">
                    </td>
                <tr>

                <tr>
                    <td>
                        Wall Length:
                    </td>
                    <td>
                        <input type="text" name="wallL[]" id="wallL" size="20"  value="">
                    </td>
                <tr>

            </table>


        <input type="submit" value="Add Wall">
</form>

任何帮助都会很棒。 谢谢, 切尔西

【问题讨论】:

  • 将 $_POST 存储为 $_SESSION 中的变量
  • 我尝试这样做:$_SESSION['data'] = $_POST; 然后使用:print_r($data);print_r($_POST); 调用数据。似乎没有工作。我知道会话应该可以工作......我想我只是没有以某种方式正确设置它们。
  • 检查我的答案这样做。

标签: php


【解决方案1】:

你是在文件顶部使用session_start();,然后是$_SESSION['array'] = $array;

【讨论】:

  • 我已经尝试过session_start(); $_SESSION['wallW'] = $wallW; $wallW = $_SESSION['wallW']; 和 'session_start(); $_SESSION['wallW'] = $wallW;` 但两种方式都只是覆盖数组。
  • var_dump($wallW);这给了你什么?
  • 好的,这回答了我的 get-variables-through-refresh。现在我正在向数组添加变量。我会在另一个帖子中发布这个问题。
【解决方案2】:

商店

$data =  $_POST;
$_SESSION['data'] = $data;

然后查看下一页

if(isset($_SESSION['data'))
{
$data = $_SESSION['data'];
print_r($data);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    相关资源
    最近更新 更多