首页 > 解决方案 > 如何将 HTML 表单中的值解析为 PHP 值?

问题描述

我想更新订单准备时间。我有这个小的 HTML 表单,但是我不能在这段代码之后将它传递给 PHP 变量。我用过 Cookies,我用过 POST 方法,但没有一个能帮到我。

<form>
            <input type="text" id="save_order_time" name="order_time<?php echo $order_id ?>" />
            <input type="submit" name="submit" value="Update Order Time" onclick="order_time_a();">
            </form>

<script>

            function order_time_a(){
                var input = $('.menu-order-detail').find('input[name="order_time<?php echo $order_id ?>"]').val();
                //var input = 25;
                    <?php 
                    //$order_time = '<script>var input = $(".menu-order-detail").find("input[name="order_time<?php echo $order_id "]").val();</script>';
                    //update_post_meta($order_id, 'foodbakery_order_time', $order_time); ?>

                console.log("Lets show something "+input);
                var d = new Date();
                d.setTime(d.getTime() + (1*24*60*60*1000));
                var expires = "expires="+ d.toGMTString();
                document.cookie = "order_time" + "=" + input + ";" + expires + ";path=/";
                console.log("Cookie was set. " + input);                    
            }

            </script>

            <?php

            echo ("<script>console.log('This code is executed first')</script>");
            //echo ('order_time'.$order_id);
            $order_time = $_COOKIE['order_time'];
            update_post_meta($order_id, 'foodbakery_order_time', $order_time);

当我使用 COOKIE 解决方案时,我之前设置的值存储在 $order_time 值中。这很正常,因为我在设置后无法立即访问 COOKIE。

当我使用 POST 方法时,我的数据库中得到 NULL。

我该如何实现上述内容?

标签: javascriptphpcookies

解决方案


您的解释中有一些不清楚的地方。你为什么将这些不同的概念并排使用?

  • 表格/邮寄
  • Javascript
  • COOKIE 变量

我认为您应该尝试仅使用 Form / POST 选项,请参阅此处的说明:HTML Form POST to PHP page


除此之外,在您的 javascript 部分中,我看到了这一点:var input = $('.menu-order-detail').find('input[name="order_time<?php echo $order_id ?>"]').val();

您应该像这样创建它以找到正确的对象: var input = $('.menu-order-detail').find('input[name="order_time"]').val();


推荐阅读