0

Делаю оплату, есть 2 формы. Одна ведет запись в базу данных(в этом же файле создал сессию, в которой храню переменные total и ordid). При нажатии на кнопку на первой форме после добавления в базу происходит перенаправление на форму оплаты, там я вызываю сессию, в которой хранил 2 переменных. Переменная total вызвалась, а ordid нет. Ошибка Trying to get property 'ordid' of non-object.

        <?php
$sql="SELECT MAX(id) + 1 AS ordid FROM orders;";
$query = $db->prepare($sql);
$query->execute();
$ordid=$query->fetch(PDO::FETCH_OBJ);

?> <form method="post"> <h2>Оформление Заказа</h2> <div class="adr"> <input name="address" type="text" class="form-control mb-4" placeholder="Введите свой адрес" required> </div> <div class="ord-detail"> <h3 class="py-4 float-right">Total :₽ <?php echo $total->total; ?></h3> <h3 class="py-4 float-right">Номер Заказа: <?php echo $ordid -> ordid;?></h3> </div> <input type="hidden" name="total" value="<?php echo $total->total; ?>"> <input type="hidden" name="ordid" value="<?php echo $ordid->ordid; ?>"> <input class="btn btn-primary" type="submit" value="Оплата" name="orderplace"> </form> </section>

<?php

function setPaymentData($ordid,$total){ $_SESSION['payment']['ordid']=$_POST['ordid']; $_SESSION['payment']['price']=$_POST['total']; }

?>

session_start();

include("config.php"); if(!empty($_SESSION['payment'])){ $total= $_SESSION['payment']['price']; $ordid = $_SESSION['payment']['ordid']; } ?>

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ПYШКА</title> </head> <body> <?php if(!empty($_SESSION['payment'])): ?> <form method="POST" action="https://yoomoney.ru/quickpay/confirm"> <input type="hidden" name="receiver" value="4100118422196682"/> <input type="hidden" name="quickpay-form" value="button"/> <input type="text" name="sum" value="<?php echo $total->total; ?>" data-type="number"/> <input type="text" name="ordid" value="<?php echo $ordid->ordid; ?>" data-type="number"/> <input class="btn btn-primary" type="submit" value="Оплата" name="orderplace"> </form> <?php endif;?> </body> </html>

0 Answers0