Как передать многомерные данные с одной страницы на другую, используя формы и PHP? - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь передать несколько значений, относящихся к каждому элементу, с одной страницы на другую, используя форму в качестве многомерного массива.Это для корзины покупок сортов.Я передаю переменные через скрытые значения с помощью форм.Значения этих переменных вводятся с помощью echo.Значения переменных в PHP.Мне нужно использовать эти значения на другой странице PHP.

Мне нужно получить эти данные на странице 2 в виде таблицы, из которой я могу вызывать данные, используя orderitem ['количество'] и т. Д. Но нетЧто бы я ни пытался, я продолжаю получать ошибки.Пожалуйста, помогите.

Страница 1:

<input type="hidden" name="orderitem[item][]" value="<?php echo $order_cart_item; ?>">
         <input type="hidden" name="orderitem[quantity][]" value="<?php echo $order_cart[$i]['item_q']; ?>">
         <input type="hidden" name="orderitem[price][]" value="<?php echo $row['item_price'];?>">
         <input type="hidden" name="orderitem[total][]" value="<?php echo $row['item_price']*$order_cart[$i]['item_q'];?>">
         <textarea name="orderitem[comments][]" rows="3" cols="35" placeholder="Please mention special requests if you have any. (Example: Happy Birthday Jerry!)"></textarea>

Страница 2:

 if(($_SERVER["REQUEST_METHOD"] == "GET"))
 {


    $result = $_GET['orderitem'];
    echo "Product ID\tQuantity\tAmount\tTotal\t";
    echo "\n", $result["itemcode"], "\t\t", $result["quantity"], "\t\t",$result["price"], "\t\t", $result["total"];
}
var_dump($_GET['orderitem']);}

Результат Var Dump:

Arrayarray(5) { ["item"]=> array(2) { [0]=> string(6) "CC9011" [1]=> string(6) "CCC675" } ["quantity"]=> array(2) { [0]=> string(1) "4" [1]=> string(1) "2" } ["price"]=> array(2) { [0]=> string(3) "900" [1]=> string(2) "60" } ["total"]=> array(2) { [0]=> string(4) "3600" [1]=> string(3) "120" } ["comments"]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } }

Выход вСтраница 2:

Product ID  Quantity    Amount  Total   
Notice: Undefined index: itemcode in /opt/lampp/htdocs/momsoven/orderconfirmation.php on line 96

Notice: Array to string conversion in /opt/lampp/htdocs/momsoven/orderconfirmation.php on line 96
Array   
Notice: Array to string conversion in /opt/lampp/htdocs/momsoven/orderconfirmation.php on line 96
Array   
Notice: Array to string conversion in /opt/lampp/htdocs/momsoven/orderconfirmation.php on line 96
Arrayarray(5) { ["item"]=> array(2) { [0]=> string(6) "CC9011" [1]=> string(6) "CCC675" } ["quantity"]=> array(2) { [0]=> string(1) "4" [1]=> string(1) "2" } ["price"]=> array(2) { [0]=> string(3) "900" [1]=> string(2) "60" } ["total"]=> array(2) { [0]=> string(4) "3600" [1]=> string(3) "120" } ["comments"]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } }

1 Ответ

0 голосов
/ 25 июня 2019

В цикле foreach $ var - значение массива. Вам не нужно использовать цикл foreach.

<?php
if(isset($_POST["submit"])){
    $result = $_POST['orderitem'];
    echo "Product ID\tQuantity\tAmount\tTotal\t";
    echo "\n", $result["item"], "\t\t", $result["quantity"], "\t\t",$result["price"], "\t\t", $result["total"];
}
?>

Если в одних и тех же полях ввода есть несколько записей, добавьте элементы ввода формы в виде массива.

<?php
 if(isset($_POST["submit"])){
$result = $_POST['orderitem'];
echo "Product ID\tQuantity\tAmount\tTotal\t";

    for($i=0 ; $i<count($result['quantity']); $i++){
        echo "\n", $result["item"][$i], "\t\t", $result["quantity"][$i], "\t\t",$result["price"][$i], "\t\t", $result["total"][$i];
    }
 }

?>


<form name="test" method="post">

    <input type="hidden" name="orderitem[item][]" value="order_cart_items">
    <input type="hidden" name="orderitem[quantity][]" value="item_q">
    <input type="hidden" name="orderitem[price][]" value="item_price">
    <input type="hidden" name="orderitem[total][]" value="item_price">
    <textarea name="orderitem[comments][]" rows="3" cols="35" placeholder="Please mention special requests if you have any. (Example: Happy Birthday Jerry!)"></textarea>


    <input type="hidden" name="orderitem[item][]" value="order_cart_items">
    <input type="hidden" name="orderitem[quantity][]" value="item_q">
    <input type="hidden" name="orderitem[price][]" value="item_price">
    <input type="hidden" name="orderitem[total][]" value="item_price">
    <textarea name="orderitem[comments][]" rows="3" cols="35" placeholder="Please mention special requests if you have any. (Example: Happy Birthday Jerry!)"></textarea>



    <input type="submit" name="submit" value="submit"> 
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...