Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 810
1

Ошибка внесения данных в MySQL DB

28.04.2014, 19:00. Просмотров 323. Ответов 0
Метки нет (Все метки)

Добрый вечер!

Есть такая проблема: когда пытаюсь внести данные в базу из полей созданной ранее формы, всплывает ошибка, что этих полей нет и данные влетают в базу пустыми.

В общем то вот форма:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<form action="index.php?view=order" method="post" id="cart-form">
    <div id="table">
        <div class="row">
            <span class="cell"><b>Товар</b></span>
            <span class="cell"><b>Цена</b></span>
            <span class="cell"><b>Кол-во</b></span>
            <span class="cell"><b>Всего</b></span>
        </div>
        <?php foreach ($_SESSION['cart'] as $id => $quantity):
              $product = get_product($id);
        ?>
        <div class="row1">
            <span class="cell"><?=$product['title'];?></span>
            <span class="cell"><?=number_format($product['price'],2);?> р.</span>
            <span class="cell"><?=$quantity;?></span>
            <span class="cell"><?=number_format($product['price'] * $quantity,2);?> р.</span>
        </div>
        <?php endforeach; ?>
    </div>
    <p class="total" align="center">Общая сумма заказа: <?=number_format($_SESSION['total_price'],2);?><span class="product-price"> р.</span></p>
    
    <p align="center">
        Ваше имя:<br/><input type="text" name="name" /><br/>
        Ваша фамилия:<br/><input type="text" name="s_name" /><br/>
        Ваш адрес:<br/><input type="text" name="address" /><br/>
        Ваш почтовый индекс:<br/><input type="text" name="post_index" /><br/>
        Ваш E-mail:<br/><input type="text" name="email" /><br/>
    </p>
    
    <p align="center"><input style="background-color: #000; color: #fff; height: 30px; width: 150px; font-size: 14px;" type="submit" name="order" value="Заказать" /></p>
</form>
Вот таким образом я пробегаюсь по полям и вношу данные:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
if($_SESSION['cart'] && isset($_POST['order']))
{
    foreach($_POST as $ArrKey => $ArrStr)
    {
        $ArrKey = $_POST[$ArrKey];
    }
    $date = date('Y-m-d');
    $time = date('H:i:s');
    foreach ($_SESSION['cart'] as $id => $quantity):
    $product = get_product($id);
    $query = mysql_query("INSERT INTO orders(name,s_name,address,post_index,email,date,time,product,prod_id,price,qty) VALUES('$name','$s_name','$address','$post_index','$email','$date','$time','{$product['title']}','{$product['id']}','{$product['price']}','$quantity')");
    endforeach;
}
Ругается на отсутствие полей: name, s_name, address, post_index, email.
Где может быть ошибка?

Добавлено через 1 минуту
Вообще, вся страничка выглядит так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<h2 align="center">Ваша корзина товаров</h2><br>
<?php if($_SESSION['cart'] && !isset($_POST['order']))
{
?>
<form action="index.php?view=order" method="post" id="cart-form">
    <div id="table">
        <div class="row">
            <span class="cell"><b>Товар</b></span>
            <span class="cell"><b>Цена</b></span>
            <span class="cell"><b>Кол-во</b></span>
            <span class="cell"><b>Всего</b></span>
        </div>
        <?php foreach ($_SESSION['cart'] as $id => $quantity):
              $product = get_product($id);
        ?>
        <div class="row1">
            <span class="cell"><?=$product['title'];?></span>
            <span class="cell"><?=number_format($product['price'],2);?> р.</span>
            <span class="cell"><?=$quantity;?></span>
            <span class="cell"><?=number_format($product['price'] * $quantity,2);?> р.</span>
        </div>
        <?php endforeach; ?>
    </div>
    <p class="total" align="center">Общая сумма заказа: <?=number_format($_SESSION['total_price'],2);?><span class="product-price"> р.</span></p>
    
    <p align="center">
        Ваше имя:<br/><input type="text" name="name" /><br/>
        Ваша фамилия:<br/><input type="text" name="s_name" /><br/>
        Ваш адрес:<br/><input type="text" name="address" /><br/>
        Ваш почтовый индекс:<br/><input type="text" name="post_index" /><br/>
        Ваш E-mail:<br/><input type="text" name="email" /><br/>
    </p>
    
    <p align="center"><input style="background-color: #000; color: #fff; height: 30px; width: 150px; font-size: 14px;" type="submit" name="order" value="Заказать" /></p>
</form>
<?php
}
if($_SESSION['cart'] && isset($_POST['order']))
{
    foreach($_POST as $ArrKey => $ArrStr)
    {
        $ArrKey = $_POST[$ArrKey];
    }
    $date = date('Y-m-d');
    $time = date('H:i:s');
    foreach ($_SESSION['cart'] as $id => $quantity):
    $product = get_product($id);
    $query = mysql_query("INSERT INTO orders(name,s_name,address,post_index,email,date,time,product,prod_id,price,qty) VALUES('$name','$s_name','$address','$post_index','$email','$date','$time','{$product['title']}','{$product['id']}','{$product['price']}','$quantity')");
    endforeach;
}
?>
Добавлено через 39 минут
Я конечно ошибку исправил избавившись от проблемного цикла, но как можно его вернуть и так что бы он работал?
Вот как я переделал:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if($_SESSION['cart'] && isset($_POST['order']))
{
    $name = $_POST['name'];
    $s_name = $_POST['s_name'];
    $address = $_POST['address'];
    $post_index = $_POST['post_index'];
    $email = $_POST['email'];
    $date = date('Y-m-d');
    $time = date('H:i:s');
    foreach ($_SESSION['cart'] as $id => $quantity):
    $product = get_product($id);
    $query = mysql_query("INSERT INTO orders(name,s_name,address,post_index,email,date,time,product,prod_id,price,qty) VALUES('$name','$s_name','$address','$post_index','$email','$date','$time','{$product['title']}','{$product['id']}','{$product['price']}','$quantity')");
    endforeach;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2014, 19:00
Ответы с готовыми решениями:

Изменения и внесения данных в БД
Картинка 1)Выводятся данные для того что бы изменить! PHP код который...

Где ошибка? (Запись данных из массива в базу данных mysql)
Массив, генерирующий данные: $data = array(); for($i = 0; $i &lt;...

попытка занесение данных в SQL без повторного внесения
Здравствуйте. В пхп слабоват, поэтому обращаюсь к ВАМ. Существует база, в ней 1...

Ошибка получения данных из mysql
Вот такой код : $host = 'localhost'; $user = 'user'; $pass = '12345';...

Ошибка при редактировании данных в БД MySQL средствами PHP
Вот код программы index.html &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2014, 19:00

Php + mysql = отобразить перечень таблиц базы данных, схему данных
Всем привет, нужна ваша помощь, как реализовать данные задания? 1. Создать...

При выводе данных с массива базы данных mysql выдает "?" вместо кириллицы
В чем может быть проблема? Поменял на англ - все путем. Нутром чувствую, что с...

Ошибка MySQL
Выдает вот такую ошибку Warning: mysql_query() : Access denied for user...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru