Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 根据尺寸更改价格并显示尺寸_Php_Javascript_Jquery_Forms - Fatal编程技术网

Php 根据尺寸更改价格并显示尺寸

Php 根据尺寸更改价格并显示尺寸,php,javascript,jquery,forms,Php,Javascript,Jquery,Forms,我已经尝试了好几天了,但我似乎无法让它工作。 我想根据用户选择的鞋码更改价格。但是我需要知道checkout.php上选择的大小。我的checkout.php已经开始工作了,但是我需要得到它的大小以及该大小的奖品。在“选择”选项中,我已经指明了价格以及价格的大小。请帮助 <div class="content_half float_r"> <form id="add2cart" name="cart" method="Post" action="<?php fet

我已经尝试了好几天了,但我似乎无法让它工作。 我想根据用户选择的鞋码更改价格。但是我需要知道checkout.php上选择的大小。我的checkout.php已经开始工作了,但是我需要得到它的大小以及该大小的奖品。在“选择”选项中,我已经指明了价格以及价格的大小。请帮助

<div class="content_half float_r">
    <form id="add2cart" name="cart" method="Post" action="<?php fetchdir($bpages); ?>cart.php">
             <table>
                    <tr>
                        <td width="160">Price:</td>
                        <td name="price" id="price"><?php echo $row ['Start_Cost']; ?></td>

                    </tr>

                <tr>
                 <td for="size" width="160">size*:</td>
                <td>
                <select name="size" class="small" id ="size">
                                <option value="">12 size</option> // the price tag already have the start_Cost for this size
                        <option value="">14 size(£30.00)</option>
                    <option value="">16 size(£35.00)</option>
                        <option value="">18 size(£40.00)</option>
                    <option value="">20 size(£45.00)</option>
                        <option value="">22 size(£55.00)</option>
                            <option value="">24 size(£60.00)</option>
                    <option value="">26 size(70.00)</option>
                            <option value="">28 size(£80.00)</option>
                   </select>
                </td>

                </tr>   
        <tr>
             // you choose size
            <td> size: // the size the person choose will go down here
             </td>

    </tr>   

            <tr>
                        <td>Quantity</td>
                        <td><input type="text" name="Qty" value="1" style="width: 20px; text-align: right" /></td>

                    </tr>       
                </table>    
                <div class="cleaner h20"></div>

                <input type="hidden" name="pid" id="id" value="<?php echo $id; ?>" />
                <input type="Submit" class="button" name="button" id="button" value="Add to shopping cart"/>
                </form>             
            </div>

尺码*:
12码//价格标签已包含此码的起始成本
14号(30.00英镑)
16号(35.00英镑)
18号(40.00英镑)
20号(45.00英镑)
22号(55.00英镑)
24号(60.00英镑)
26号(70.00)
28号(80.00英镑)
//你选择大小
尺码:/人员选择的尺码将在此处显示
量

首先,您可能只想通过将鞋码提供给选项的value属性来发送鞋码。选项中的文本只是一个标签

<option value="12">12 size</option>
12码
第二,也是最重要的一点:你永远不希望客户告诉你价格是多少!!!从未!如果有黑客出现,他可以很容易地提交大小设置为12、价格设置为0的表单。你不想免费送那些,是吗?如果他发送负值,Hack甚至可能不得不退款。因此,请修改您的PHP脚本,从内部数组或其他内容计算/查找价格。或者确保您至少彻底验证了输入


要更新价格,您可以使用对php脚本的调用,该脚本只需获取鞋码并返回价格。
看看这是什么意思。您必须用自己的新php脚本替换ajax URL。阅读ajax文档,了解如何正确传递输入和输出数据。在写入数据之前,您还可以将价格乘以数量

首先,您可能只想通过将鞋码提供给选项的value属性来发送鞋码。选项中的文本只是一个标签

<option value="12">12 size</option>
12码
第二,也是最重要的一点:你永远不希望客户告诉你价格是多少!!!从未!如果有黑客出现,他可以很容易地提交大小设置为12、价格设置为0的表单。你不想免费送那些,是吗?如果他发送负值,Hack甚至可能不得不退款。因此,请修改您的PHP脚本,从内部数组或其他内容计算/查找价格。或者确保您至少彻底验证了输入


要更新价格,您可以使用对php脚本的调用,该脚本只需获取鞋码并返回价格。
看看这是什么意思。您必须用自己的新php脚本替换ajax URL。阅读ajax文档,了解如何正确传递输入和输出数据。在写入数据之前,您还可以将价格乘以数量

这里有一个工作示例供您使用

请注意我是如何添加
s的,以便能够在所需位置插入文本。我还添加了一些
id
s来帮助选择正确的
DOM
元素

下面是基于
jQuery
JavaScript

// initially provide data
var shoeData = {
    12: 25,
    14: 30,
    16: 35
}

$(function () {    
    $(document).ready(function () {
        // dynamically create the options in the select
        $.each(shoeData, function (key, value) {
            $("#size").append($("<option>", {
                "value": key,
                    "text": key + " size(£" + value + ")"
            }));
        });
        // display the initial data
        updateHandler();
    });    

    // register for update events on the input fields
    $("#size").on('change', updateHandler);
    $("#qty").on('input', updateHandler);
});

// handle update events (when an input field was changed)
function updateHandler() {
    // accumulate the data
    var value = $("#size").val();
    var quantity = $("#qty").val();
    var price = shoeData[value];
    var endPrice = price * quantity;

    // display the data
    $('#priceDisplay').html(price);
    $("#sizeDisplay").html(value);
    $("#totalDisplay").html(endPrice);
}
当客户更改鞋子尺寸或数量时,只需将字符串写入相应
span
s的“
html
”属性,即可更新总数、价格和鞋子信息


您的
cart.php
将收到预期的表单-这意味着您将获得“
quaty
”和“
size
”。您必须根据
$REQUEST[“size”]
中的值在
PHP
中查找价格,然后将其乘以
$REQUEST[“Qty”]
的值,以获得总价格

这里有一个工作示例供您使用

请注意我是如何添加
s的,以便能够在所需位置插入文本。我还添加了一些
id
s来帮助选择正确的
DOM
元素

下面是基于
jQuery
JavaScript

// initially provide data
var shoeData = {
    12: 25,
    14: 30,
    16: 35
}

$(function () {    
    $(document).ready(function () {
        // dynamically create the options in the select
        $.each(shoeData, function (key, value) {
            $("#size").append($("<option>", {
                "value": key,
                    "text": key + " size(£" + value + ")"
            }));
        });
        // display the initial data
        updateHandler();
    });    

    // register for update events on the input fields
    $("#size").on('change', updateHandler);
    $("#qty").on('input', updateHandler);
});

// handle update events (when an input field was changed)
function updateHandler() {
    // accumulate the data
    var value = $("#size").val();
    var quantity = $("#qty").val();
    var price = shoeData[value];
    var endPrice = price * quantity;

    // display the data
    $('#priceDisplay').html(price);
    $("#sizeDisplay").html(value);
    $("#totalDisplay").html(endPrice);
}
当客户更改鞋子尺寸或数量时,只需将字符串写入相应
span
s的“
html
”属性,即可更新总数、价格和鞋子信息


您的
cart.php
将收到预期的表单-这意味着您将获得“
quaty
”和“
size
”。您必须根据
$REQUEST[“size”]
中的值在
PHP
中查找价格,然后将其乘以
$REQUEST[“Qty”]
的值,以获得总价格

如果
元素的
属性为空,则不会将任何内容传递回后端。你需要那些
value=”“
中的东西。
的文本内容仅用于显示目的。将尺寸价格放入
选项值中
?我想将尺寸传递给后端,并在价格上将该尺寸的价格传递给后端。我以前在value=“”中尝试过14号尺码的value=“£30.00”,但我一直传递30.00英镑,我不想要,但我想传递它的尺码,然后将您确实想要传递的信息(即尺码)放入值中@leftclickben说得对。顺便说一句,我建议您传递特定的产品ID,而不是大小-更不容易出错