Задать вопрос
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat,
    require "inc/lib.inc.php";
    require "inc/config.inc.php";
    
    $name= clearStr($_POST["name"]);
    $email= clearStr($_POST["email"]);
    $phone= clearStr($_POST["phone"]);
    $address= clearStr($_POST["address"]);
    $oid = $basket["orderid"];
    $dt = time();
    $order = "$name|$email|$phone|$address|$oid|$dt\n";
    file_put_contents("admin/".ORDERS_LOG, $order, FILE_APPEND);
    saveOrder($dt);

    так он же отсюда должен передоваться
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, date time и orderid не видно
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, я же говорила, полный массив выдает который и нужен
    array(2) { [0]=> array(6) { ["id"]=> string(1) "2" ["author"]=> string(8) "Mike Dow" ["title"]=> string(11) "PHP and XML" ["pubyear"]=> string(3) "200" ["price"]=> string(3) "620" ["quantity"]=> int(1) } [1]=> array(6) { ["id"]=> string(1) "3" ["author"]=> string(11) "Ivan Petrov" ["title"]=> string(7) "ASP.net" ["pubyear"]=> string(4) "2001" ["price"]=> string(3) "540" ["quantity"]=> int(1) }
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, там должен быть массив из таблицы с товаром,который лежит в массиве данных пользователя когда он оформлял заказ, а по итогу данные пользователя выводятся впорядке,а внутри него массив goods,и он пустой, при выводе вардампа я получила что после выполнения функции все значения в goods получают NULL, хотя внутри функции после обьявления переменной вардамп показывал текущие верные данные в массиве(
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, разве не надо просто понять что надо добавить вместо "?" в поля VALUES ?
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    Дмитрий, Warning: var_dump(): Property access is not allowed yet in C:\Users\Valerka\Downloads\OSPanel\domains\eshop\inc\lib.inc.php on line 98
    object(mysqli_stmt)#1 (10) { ["affected_rows"]=> NULL ["insert_id"]=> NULL ["num_rows"]=> NULL ["param_count"]=> NULL ["field_count"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["sqlstate"]=> string(5) "00000" ["id"]=> NULL
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, выдает все нужные данные в массиве,которые по идее должны в базу внестись, но этого не происходит
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    Дмитрий, тогда в чем же проблема(
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    Дмитрий, да,запрос выполняется, "GET /admin/orders.php HTTP/1.1" 200 1246 "eshop/admin.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0"
    только нет ни самого mysqli запроса к базе , и вообще данные в таблицу не занеслись ,а должны были(
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    Дмитрий, не показывает false
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    Дмитрий, я ставила,но ошибка вышла не там,и я вернула false ,я думала для проверки просто поставить и потом поменять обратно надо
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    Дмитрий, массив со всеми данными передается в функцию, а вот вконце функции уже NULL дает
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, во втором случае выводит массив со всеми нужными данными
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    Дмитрий, exit поставила, выводит данные пользователем введенные
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, по первому случаю вот выдает
    string(48) "dada|asas|44323|gdfgfd|5e735895d1b34|1584618888 "
    Warning: Cannot modify header information - headers already sent by (output started at OSPanel\domains\eshop\saveorder.php:12) in
    OSPanel\domains\eshop\inc\lib.inc.php on line 54

    Ваш заказ принят.

    Вернуться в каталог товаров
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat,
    корзина,форма в которой показывается что находится у клиента в корзине
    <table border="1" cellpadding="5" cellspacing="0" width="100%">
              <tr>
                <th>N п/п</th>
                <th>Название</th>
                <th>Автор</th>
                <th>Год издания</th>
                <th>Цена, руб.</th>
                <th>Количество</th>
                <th>Удалить</th>
              </tr>
              <?php
               $i = 1; $sum = 0;
               foreach($goods as $item){
                  ?>
                  <tr>
                    <td><?=$i++?></td>
                    <td><?=$item['title']?></td>
                    <td><?= $item['author']?></td>
                    <td><?= $item['pubyear']?></td>
                    <td><?= $item['price']?></td>
                    <td><?= $item['quantity']?></td>
                    <td><a href="delete_from_basket.php?id=<?= $item['id']?>">Удалить</a></td>
                 </tr>
                 <?
                 $sum += $item['price'] * $item['quantity'];
               }
               ?>
          </table>
          <p>Всего товаров в корзине на сумму: <?=$sum?> руб.</p>
    
          <div align="center">
            <input type="button"  value="Оформить заказ" onClick="location.href='orderform.php'"/>
          </div>
       </body>

    дальше по клику мы оказываемся в форме где пишем свои данные
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title>Оформление заказа</title>
      </head>
      <body>
        <h1>Оформление заказа</h1>
        <form class="" action="saveorder.php" method="post">
          <label for="">Заказчик</label>
          <input type="text" name="name" id="name" value=""><br /><br />
          <label for="">Email заказчика: </label>
          <input type="text" name="email" id="email" value=""><br /><br />
          <label for="">Телефон для связи: </label>
          <input type="text" name="phone" id="phone" value=""><br /><br />
          <label for="">Адрес доставки: </label>
          <input type="text" name="address" id="address" value=""><br /><br />
          <input type="submit" name="" value="Заказать">
        </form>
      </body>
    </html>

    затем мы попадаем в файл с кодом обработки который помещает данные пользователя в лог
    require "inc/lib.inc.php";
    require "inc/config.inc.php";
    
    $name= clearStr($_POST["name"]);
    $email= clearStr($_POST["email"]);
    $phone= clearStr($_POST["phone"]);
    $address= clearStr($_POST["address"]);
    $oid = $basket["orderid"];
    $dt = time();
    $order = "$name|$email|$phone|$address|$oid|$dt\n";
    file_put_contents("admin/".ORDERS_LOG, $order, FILE_APPEND);
    saveOrder($dt);

    вконце обработчика вызывается вот эта функция
    function saveOrder($datetime){
    	global $link, $basket;
    	$goods = myBasket();
    	$stmt = mysqli_stmt_init($link);
    	$sql='INSERT INTO `orders` (`title`,`author`,`pubyear`,`price`,`quantity`,`orderid`,`datetime`)
    	/*ЭТО ПРОВЕРИТЬ*/
    	VALUES (?, ?, ?, ?, ?, ?, ?)';
    	if(!mysqli_stmt_prepare($stmt, $sql))
    	return false;
    	foreach($goods as $item){
    		mysqli_stmt_bind_param($stmt, "ssiiisi", $item['title'], $item['author'], $item['pubyear'], $item['price'], $item['quantity'], $item['orderid'], $datetime);
    		mysqli_stmt_execute($stmt);
    	}
    	mysqli_stmt_close($stmt);
    	removeBasket();
    	return true;
    }

    в которой после вардампа мы выяснили что значения все NULL ( потому что values не введены как я думаю все таки
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, отставить панику,почему то перестало выдавать эту ошибку, может у меня машина троит...
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    Дмитрий, там преподаватель осознанно делает сложнее чтобы потом упростить и сделать легче,чтобы оба варианта рассмотреть , но до простого я еще не дошла,застряла(
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat,
    require "inc/lib.inc.php";
    require "inc/config.inc.php";
    
    $name= clearStr($_POST["name"]);
    $email= clearStr($_POST["email"]);
    $phone= clearStr($_POST["phone"]);
    $address= clearStr($_POST["address"]);
    $oid = $basket["orderid"];
    $dt = time();
    $order = "$name|$email|$phone|$address|$oid|$dt\n";
    file_put_contents("admin/".ORDERS_LOG, $order, FILE_APPEND);
    saveOrder($dt);

    она вызывается только здесь, тут ошибок не было, а вардамп сделал где NULL получил,и теперь такая ошибка, я теперь вообще не понимаю что случилось как я код сломала
  • Какие значения вставлять в VALUE?

    @Kristina8787 Автор вопроса
    ThunderCat, ничего не трогала, решила проверить где данные пропадают, не успела вардамп сделать,он мне теперь на странице ввода данных ошибку выдает Fatal error: Cannot redeclare clearStr() (previously declared in eshop\inc\lib.inc.php on line 8
    require "config.inc.php";
    
    function clearStr($data){
    	global $link;
    	$data = trim(strip_tags($data));
    	return mysqli_real_escape_string($link, $data);
    }

    последняя строчка,та что с закрывающей скобкой фигурной,это и есть 8я...