PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 2
Нордик
Отправлено: 17 Июня, 2018 - 13:39:21 • Тема: Добавление всех товаров из корзины • Форум: Вопросы новичков
Ответов: 2 Просмотров: 224
Как сделать чтобы все записи добавлялись из корзины в бд? А то добавляется только последняя. Запись добавляется в бд. Надо чтобы на каждый товар была новая запись, кто шарит помогите пожалуйста...
PHP:
скопировать код в буфер обмена
<h2 align="center">Оформление заказа</h2>
<?
if ( $_SESSION [ 'cart' ] && ! isset ( $_POST [ 'order' ] ) ) {
?>
<form action="index.php?view=order" method="post" id="cart-form">
<table id="mycart" align="center" cellspacing="0" cellpadding="0" border="0">
<tr>
<th>Товар</th>
<th>Цена</th>
<th>Кол-во</th>
<th>Всего</th>
</tr>
<? foreach ( $_SESSION [ 'cart' ] as $id => $quantity ) :
$product = get_product( $id ) ;
?>
<tr>
<td align="center"><?= $product [ 'title' ] ; ?> </td>
<td align="center"><?= $quantity ; ?> </td>
<td align="center">
<?= number_format ( $product [ 'price' ] * $quantity , 2
) ; ?> </td>
</tr>
<? endforeach ; ?>
</table>
<p class="total" align="center">Общая сумма заказа: <span class="product-price">
<?= number_format ( $_SESSION [ 'total_price' ] , 2
) ; ?> </span></p>
<p align="center" style="color: black;">
Ваше Имя: <input type="text" name="name" required/> Ваша Фамилия: <input type="text" name="s_name" required/> Ваш адрес: <input type="text" name="address" required/> Почтовый индекс: <input type="text" name="post_index" required/> Ваш e-mail: <input type="text" name="email" /><br required/>
</p>
<p align="center"><input type="submit" name="order" value="Заказать" /></p>
</form>
<?
}
if ( $_SESSION [ 'cart' ] && isset ( $_POST [ 'order' ] ) ) {
$pattern_name = '/^[a-zA-Zа-яА-ЯЁё]{1,32}$/u' ;
$pattern_index = '/^[0-9]{6}$/u' ;
$pattern_email = '/^[\w\.\-]+\@+[a-z]+\.+[a-z]{1,5}$/' ;
$pattern_addres = '/^[a-zA-Zа-яА-ЯЁё0-9\s\.]{1,100}$/u' ; // \s - пробел, точка
if ( ! empty ( $_POST [ 's_name' ] ) ) { $error = "Некорректно введёна фамилия" ; //ошибка
} else {
$error = false ; //ошибка не найдена
}
}
if ( ! empty ( $_POST [ 'name' ] ) ) { $error = "Некорректно введно имя" ;
} else {
$error = false ;
}
}
if ( ! empty ( $_POST [ 'post_index' ] ) ) { if ( ! preg_match ( $pattern_index , $_POST [ 'post_index' ] ) ) { $error = "Некорректно введён почтовый индекс" ;
} else {
$error = false ;
}
}
if ( ! empty ( $_POST [ 'addres' ] ) ) { if ( ! preg_match ( $pattern_addres , $_POST [ 'addres' ] ) ) { $error = "Некорректно введён адрес" ;
} else {
$error = false ;
}
}
if ( ! empty ( $_POST [ 'email' ] ) ) { $error = "Некорректно введён email" ;
} else {
$error = false ;
}
}
if ( $error === false ) //Если ошибка не найдена, выполняется код
{
foreach ( $_POST as $ArrKey => $ArrStr )
{
$ArrKey = $_POST [ $ArrKey ] ;
}
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 ;
echo "<p align='center' style='color: #black;'>Ваш заказ успешно принят! Спасибо за покупку!</p>" ;
}
else
{
//Если ошибка есть
echo "<p align='center' style='color: #black;'>ОШИБКА В ВВЕДЕННЫХ ДАННЫХ</p>" ;
}
}
?>
<?
Нордик
Отправлено: 07 Июня, 2018 - 02:46:18 • Тема: Интегрирование кода • Форум: Вопросы новичков
Ответов: 1 Просмотров: 1344
Доброго времени суток, ситуация такая. Нужно было сделать проверку на вводимые символы, нашёл вроде рабочий код. Нужно интегрировать эту проверку в код. Пробовал но что-то не то делаю то код просто выводится на экран то ещё что. Очень прошу кто шарит помогите.
Вот проверка:
PHP:
скопировать код в буфер обмена
$pattern_name = '/^[a-zA-Zа-яА-ЯЁё]{1,32}$/u' ;
$pattern_index = '/^[0-9]{6}$/u' ;
$pattern_email = '/^[\w\.\-]+\@+[a-z]+\.+[a-z]{1,5}$/' ;
$pattern_addres = '/^[a-zA-Zа-яА-ЯЁё0-9\s\.]{1,100}$/u' ; // \s - пробел, точка
if ( ! empty ( $_POST [ 'first_name' ] ) ) { if ( ! preg_match ( $pattern_name , $_POST [ 'first_name' ] ) ) { echo "INVALID FNAME<br>" ;
}
$f_name = $_POST [ 'first_name' ] ;
}
if ( ! empty ( $_POST [ 'last_name' ] ) ) { if ( ! preg_match ( $pattern_name , $_POST [ 'last_name' ] ) ) { echo "INVALID LNAME<br>" ;
}
$l_name = $_POST [ 'last_name' ] ;
}
if ( ! empty ( $_POST [ 'index' ] ) ) { echo "INVALID INDEX<br>" ;
}
$index = $_POST [ 'index' ] ;
} if ( ! empty ( $_POST [ 'addres' ] ) ) { if ( ! preg_match ( $pattern_addres , $_POST [ 'addres' ] ) ) { echo "INVALID ADDRES<br>" ;
}
$addres = $_POST [ 'addres' ] ;
} if ( ! empty ( $_POST [ 'email' ] ) ) { echo "INVALID EMAIL<br>" ;
}
$email = $_POST [ 'email' ] ;
}
if ( isset ( $f_name ) ) { echo $f_name . "<br>" ; } if ( isset ( $l_name ) ) { echo $l_name . "<br>" ; } if ( isset ( $index ) ) { echo $index . "<br>" ; } if ( isset ( $addres ) ) { echo $addres . "<br>" ; } if ( isset ( $email ) ) { echo $email . "<br>" ; }
Вот кусок кода куда нужна проверка проверка:
PHP:
скопировать код в буфер обмена
Ваше Имя
: < input type
= "text" name
= "name" /> Ваша Фамилия
: < input type
= "text" name
= "s_name" /> Ваш адрес
: < input type
= "text" name
= "address" /> Почтовый индекс
: < input type
= "text" name
= "post_index" /> Ваш e
- mail : < input type
= "text" name
= "email" /> </ p
>
Всё что вводится в эти поля отправляется в бд.
Вот полный код куда нужно интегрировать проверку:
PHP:
скопировать код в буфер обмена
<h2 align="center">Оформление заказа</h2>
<?
if ( $_SESSION [ 'cart' ] && ! isset ( $_POST [ 'order' ] ) ) {
?>
<form action="index.php?view=order" method="post" id="cart-form">
<table id="mycart" align="center" cellspacing="0" cellpadding="0" border="0">
<tr>
<th>Товар</th>
<th>Цена</th>
<th>Кол-во</th>
<th>Всего</th>
</tr>
<? foreach ( $_SESSION [ 'cart' ] as $id => $quantity ) :
$product = get_product( $id ) ;
?>
<tr>
<td align="center"><?= $product [ 'title' ] ; ?> </td>
<td align="center">$
<?= number_format ( $product [ 'price' ] , 2
) ; ?> </td>
<td align="center"><?= $quantity ; ?> </td>
<td align="center">$
<?= number_format ( $product [ 'price' ] * $quantity , 2
) ; ?> </td>
</tr>
<? endforeach ; ?>
</table>
<p class="total" align="center">Общая сумма заказа: <span class="product-price">
<?= number_format ( $_SESSION [ 'total_price' ] , 2
) ; ?> $</span></p>
<p align="center" style="color: black;">
Ваше Имя: <input type="text" name="name" /> Ваша Фамилия: <input type="text" name="s_name" /> Ваш адрес: <input type="text" name="address" /> Почтовый индекс: <input type="text" name="post_index" /> Ваш e-mail: <input type="text" name="email" /> </p>
<p align="center"><input type="submit" name="order" value="Заказать" /></p>
</form>
<?
}
if ( $_SESSION [ 'cart' ] && isset ( $_POST [ 'order' ] ) ) {
foreach ( $_POST as $ArrKey => $ArrStr )
{
$ArrKey = $_POST [ $ArrKey ] ;
}
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 ;
echo "<p align='center' style='color: #black;'>Ваш заказ успешно принят! Спасибо за покупку!</p>" ;
}
?>
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB