Last active
May 15, 2021 09:30
-
-
Save PonomareVlad/9142a5c3a3461ec46607a50e6450a5d2 to your computer and use it in GitHub Desktop.
Adding product to cart in PHP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Шаг 1 | |
// Выводим артикул (книга_id) в аттрибут value у кнопки | |
<button type="submit" id="hello" name="hello" value="$row[1]">КУПИТЬ</button> | |
// Шаг 2 | |
// Если после клика на кнопку, пользователь должен сразу переместится на страницу корзины или оформления заказа, | |
// то можно просто обернуть кнопку в тег формы и указать для нее адрес страницы (скрипта) который примет данные о | |
// выбранном артикуле в GET или POST параметрах (получить их можно будет в переменной $_REQUEST['book_id']) | |
<form action="/order.php" method="POST"> | |
<button type="submit" id="hello" name="book_id" value="$row[1]">КУПИТЬ</button> | |
</form> | |
// Шаг 3 (опционально) | |
// Если при клике по кнопке товар должен просто добавлятся в корзину, без перехода на другую страницу, | |
// то можно добавить небольшой код на JavaScript, который будет отправлять данные о выбранном товаре в фоновом запросе, | |
// на указанный вами скрипт (указанный код, нужно разместить один раз в конце страницы, перед закрывающим тегом </body>) | |
<script> | |
document.querySelectorAll(`button[name="book_id"]`).forEach(button => button.form.addEventListener('submit', async event => { | |
event.preventDefault(); | |
let request = {}, | |
form = event.target, | |
url = form.action, | |
data = [...new FormData(form).entries()], | |
params = new URLSearchParams(data); | |
if (form.method) request.method = form.method; | |
if (data) if (form.method.toLowerCase() === 'post') request.body = params; else | |
url = new URL('?' + params.toString(), url); | |
return await fetch(url, request).then(r => r.text()).then(console.debug); | |
})) | |
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$hostname="localhost"; | |
$username="root"; | |
$password=""; | |
$dbname="bookstore1"; | |
$link = mysqli_connect($hostname, $username, | |
$password, $dbname) | |
or die("Ошибка " . mysqli_error($link)); | |
mysqli_set_charset($link,'utf8'); | |
error_reporting(0); | |
print<<< _HTML_ | |
<head> | |
<link rel = "stylesheet" href = "IndexBookStyle.css"> | |
<script scr = "BookStore.js"></script> | |
<script src="https://ajax.googleapis.com/.../jquery/3.6.0/jquery.min.js"></script> | |
</head> | |
<body> | |
<div class = "shapka"> | |
<div class = "fotos" > | |
<script type="text/javascript"> | |
var images = new Array(); | |
var i = 0; | |
images[0] = './images/501.jpg'; | |
images[1] = './images/502.jpg'; | |
images[2] = './images/503.jpg'; | |
function viewImages() { | |
document.getElementById("img_main").src = | |
images[i]; | |
i++; | |
if (i == images.length) { | |
i = 0; | |
} | |
setTimeout("viewImages()",4000); | |
} | |
</script> | |
<img src="" id="img_main"> | |
<script> viewImages(); </script> | |
</div> | |
<div class = "name"> Книгочтей </div> | |
</div> | |
<button id ="regis"> | |
ЗАРЕГИСТРИРОВАТЬСЯ </button> | |
<script> | |
$('#regis').click(function() | |
{ $('#main').hide('slow', 'linear') }) | |
$('#regis').click(function() | |
{ $('#registr').show('slow', 'linear') }) | |
</script> | |
<div class ="left"></div> | |
<div class = "right"></div> | |
</body> | |
_HTML_; | |
$query = "SELECT DISTINCT автор | |
FROM книги ORDER BY автор "; | |
$result = $link->query($query); | |
if (!$result) die($link->error); | |
$rows = $result->num_rows; | |
echo '<div class = "otbor1"> АВТОРЫ'; | |
echo '<div class = "otbor2">'; | |
for ($i = 0 ; $i < $rows ; ++$i) | |
{ | |
$result->data_seek($i); //выбор строки | |
$row = $result->fetch_row(); //получение строки | |
print<<< _HTML_ | |
<div class = "otbor3"> | |
$row[0] | |
</div> | |
_HTML_; | |
} | |
echo '</div>'; | |
echo '</div>'; | |
$query = "SELECT картинка, книга_id, автор, название, | |
жанр, издательство, город_издания, год_издания, | |
стоимость_продажи | |
FROM книги "; | |
$result = $link->query($query); | |
if (!$result) die($link->error); | |
$rows = $result->num_rows; | |
echo '<div class = "block" id ="main">'; | |
for ($i = 0 ; $i < $rows ; ++$i) | |
{ | |
$result->data_seek($i); //выбор строки | |
$row = $result->fetch_row(); //получение строки | |
print<<< _HTML_ | |
<div class = "blocks"> | |
<img src = $row[0] width = "200" height = "250"> | |
<br> <br> | |
<em>Артикуль:</em> $row[1] <br> | |
<em>Автор:</em> $row[2] <br> | |
<em>Название:</em> $row[3] <br> | |
<em>Жанр:</em> $row[4] <br> | |
<em>Издательство:</em> $row[5] <br> | |
<em>Город издания:</em> $row[6] <br> | |
<em>Год издания:</em> $row[7] <br> | |
<em>Стоимость:</em> $row[8] <br> | |
<form action="IndexStore.php" method="POST"> | |
<button type ="submit" id ="hello" name ="book_id" | |
value ="$row[1]" > КУПИТЬ </button> | |
</form> | |
</div> | |
_HTML_; | |
} | |
?> | |
<script> | |
document.querySelectorAll(`button[name="book_id"]`).forEach(button => button.form.addEventListener('submit', async event => { | |
event.preventDefault(); | |
let request = {}, | |
form = event.target, | |
url = form.action, | |
data = [...new FormData(form).entries()], | |
params = new URLSearchParams(data); | |
if (form.method) request.method = form.method; | |
if (data) if (form.method.toLowerCase() === 'post') request.body = params; else | |
url = new URL('?' + params.toString(), url); | |
return await fetch(url, request).then(r => r.text()).then(console.debug); | |
})) | |
</script> | |
<?php | |
echo '</div>'; | |
echo '<div id ="registr" class ="block">'; | |
print<<< _HTML_ | |
<form method="POST" action = "IndexStore.php" > | |
Фамилия: <input type = "text" name ="name1" > <br> | |
Пароль: <input type = "text" name ="password1"/> <br> | |
<input type = "submit" class="button1" | |
name="submit1" value = "Зарегистрироваться"> <br> | |
</form> | |
_HTML_; | |
echo '</div>'; | |
$name = $_GET["name1"]; | |
$password = $_GET['password1']; | |
$submit = $_GET['submit1']; | |
$queryy = "INSERT INTO покупатели (фамилия, пароль) | |
VALUES ('{$name}', '{$password}')"; | |
$result = $link->query($queryy); | |
/*echo "$name, $password"; echo "<br>";*/ | |
$query = "SELECT покупатель_id | |
FROM покупатели WHERE фамилия ='$name1'"; | |
$result = $link->query($query); | |
if (!$result) die($link->error); | |
$result->data_seek(0); //выбор строки | |
$row = $result->fetch_row(); //получение строки | |
/*echo $row[0]; echo "<br>";*/ | |
$pokupatel = $row[0]; | |
echo "$pokupatel"; | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment