Я настраиваю веб-сайт и хочу получить информацию о количестве клиентов, которую они хотят заказать, в Detailedsauceandquantitypage.html и разместить номер на ShoppingCartpage.php.

Я уже пытался сделать мой файл php-файл. Я уже пробовал использовать POST. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я не могу вывести количество пицц, заказанных на странице ShoppingCart.php.

Detailedsauceandquantitypage.html

<!DOCTYPE html>
    <html>
        <head>
            <script src="script.js"></script>
            <title>Detailed sauce and quantity page</title>
        </head>

        <body>
            <h1>Detailed sauce and quantity page</h1>

            <form action="ShoppingCartpage.php" method="POST">

                <img src="bbq.jpg" alt="BBQ">
                <label for="numberOfSauces">Number of Pizzas (0-100):</label>
                <input type="number" name="bbqPizza" min="0" max="100">
                <input type="submit" value="Add this sauce to pizza">

                <br>

                <img src="tomato.jpg" alt="Tomato">
                <label for="numberOfSauces">Number of Pizzas (0-100):</label>
                <input type="number" name="tomatoPizza" min="0" max="100">
                <input type="submit" value="Add this sauce to pizza">

                <br>

                <img src="salsa.jpg" alt="Salsa">
                <label for="numberOfSauces">Number of Pizzas (0-100):</label>
                <input type="number" name="salsaPizza" min="0" max="100">
                <input type="submit" value="Add this sauce to pizza">

                <br>
            </form>
        </body>
    </html>

ShoppingCartpage.php

<!DOCTYPE html>
<html>
    <head>
        <title>Shopping Cart page</title>
    </head>
    <body>
        <h1>Shopping Cart page</h1>
        <?php
        // define variables and set to empty values
        $bbqPizza = $tomatoPizza = $salsaPizza = "";

        if ( isset( $_POST['submit'] ) ) {
            $bbq = $_POST["bbqPizza"];
            $tomato = $_POST["tomatoPizza"];
            $salsa = $_POST["salsaPizza"];
            echo $bbq . " " . $tomato . $salsa . "\n"; die("Please 
        work!");
        }
        ?>
        <a href="OnlinePizzaOrderingPage.html">Add more pizzas to cart</a>
        <a href="Checkoutpage.html">Go to checkout</a>
    </body>
</html>
1
Dwarf Champion 31 Май 2019 в 08:34

2 ответа

Лучший ответ

1. Только одна кнопка отправки в необходимой форме (в конце формы перед </form>)

<!DOCTYPE html>
    <html>
        <head>
            <script src="script.js"></script>
            <title>Detailed sauce and quantity page</title>
        </head>

        <body>
            <h1>Detailed sauce and quantity page</h1>

            <form action="ShoppingCartpage.php" method="POST">

                <img src="bbq.jpg" alt="BBQ">
                <label for="numberOfSauces">Number of Pizzas (0-100):</label>
                <input type="number" name="bbqPizza" min="0" max="100">

                <br>

                <img src="tomato.jpg" alt="Tomato">
                <label for="numberOfSauces">Number of Pizzas (0-100):</label>
                <input type="number" name="tomatoPizza" min="0" max="100">

                <br>

                <img src="salsa.jpg" alt="Salsa">
                <label for="numberOfSauces">Number of Pizzas (0-100):</label>
                <input type="number" name="salsaPizza" min="0" max="100">

                <br>
                <input type="submit" name="submit" value="Add this sauce to pizza">
            </form>
        </body>
    </html>

2. Добавьте атрибут name к кнопке.

3. Вы должны немного изменить код PHP

<!DOCTYPE html>
<html>
    <head>
        <title>Shopping Cart page</title>
    </head>
    <body>
        <h1>Shopping Cart page</h1>
        <?php
            $bbq    = ( !empty($_POST["bbqPizza"]) ) ? $_POST["bbqPizza"] : 0;
            $tomato = ( !empty($_POST["tomatoPizza"]) ) ? $_POST["tomatoPizza"] : 0;
            $salsa  = ( !empty($_POST["salsaPizza"]) ) ? $_POST["salsaPizza"] : 0;
            echo $bbq . " " . $tomato . $salsa . "\n"; die("Please work!");

        ?>
        <a href="OnlinePizzaOrderingPage.html">Add more pizzas to cart</a>
        <a href="Checkoutpage.html">Go to checkout</a>
    </body>
</html>

Примечание: - Всегда пытайтесь проверить данные POST вместо кнопки submit

0
Anant Singh---Alive to Die 31 Май 2019 в 05:53

Вы должны добавить название вашей кнопки ввода, как это.

<input type="submit" value="Add this sauce to pizza." name="submit">

POST читает имя ввода, а не тип, поэтому вам нужно добавить имя.

1
rrsantos 6 Дек 2019 в 06:00