gpt4 book ai didi

php - 没有 SQL 的简单 PHP 购物车

转载 作者:行者123 更新时间:2023-12-04 14:42:53 25 4
gpt4 key购买 nike

我正在尝试创建一个简单的 PHP 购物车,其中包含价格、产品、注册和结帐区域。我在 Google 上搜索过教程,但所有教程都包含 SQL,这还不属于我的技能范围。任何人有任何示例或其他教程资源可以引用 PHP 新手吗?

再次尝试使用产品数组、各种程序任务的函数、表单验证、用于购物车连续性的 cookie/ session 、模板文件和确认/收据电子邮件来创建简单的 PHP 购物车(无 SQL)。

提前感谢您的帮助!

最佳答案

与其批评,不如直接帮忙?虚伪,但无论如何。
请记住,没有 SQL 数据库,您无法“注册”,但您可以预先设置用户名和密码

所以,让我们用 php 创建你的伪 sql 数据库。

我们需要一个表来存储您登录的用户名和密码。

<?php
//name this "users.php"
//Keep in mind, this method does not secure your passwords... in fact, their so visible that you shouldn't ever use this method to store passwords. EVER. i'm just using to because i'm cool like that.
//we'll name this "accounts", and make it a 2D array
$accounts = array (
array("username" => "username 1", "password" => "my password!"),
array("username" => "username 2", "password" => "weeeeeee"),
array("username" => "username 3", "password" => "aidsfijasjdfiawe"),
array("username" => "rex", "password" => "asdfajweiogjr"),
array("username" => "Kodlee Yin", "password" => "ghreoghrueagre")
);
//you get the point. Username goes into username, password into password. Create more for more users etc.
?>

现在我们需要一个表来存储产品
<?php
//name this "products.php"
$products = array (
array("name" => "Whoop-ass", "price" => "9.99", "description" => "Its a can of whoop-ass"),
array("name" => "Mouse", "price" => "54.95", "description" => "No, it's not real. It's a gaming mouse. 9200 DPI"),
array("name" => "iPad", "price" => "Too expensive", "description" => "Something you never need, but something you want"),
array("name" => "Stack Overflow", "price" => "9001.00", "description" => "The best website in the world."),
array("name" => "Generic item 5", "price" => "4.99", "description" => "It says 4.99, but deep in your heart, you know its really 5 dollars.")
);
?>

所以我们有我们的产品“表”和我们的帐户“表”。
现在这里是更难的部分,它是创建一个系统来获取所有这些信息,显示它,允许登录和注销,并跟踪您在购物车中的元素。
<?php
//name this file "index.php"

//now keep in mind. I'm not going to fancy this up, so it's gonna look pretty ugly.
//i'm also going to use javascript and jQuery (a javascript library) because I love the two. :)

//lets name and start a session
session_name("rexthing");
session_start();

//this string is arbitrary, but i like it for debugging
$errorqueue = '';

//we need to add our login details and products!
include("users.php");
include("products.php");

//now in a normal php application of logging in or handling of login requests, i don't suggest doing this, but this is quick and easy(ish)
$action = (isset($_GET['action'])) ? $_GET['action']: ""; //Ternary operator asking if there is an inputted action
switch($action)
{
case "login":
if(isset($_SESSION['username'])) //check if we're already logged in
{
$errorqueue['Login'] = "We've already logged in!";
} else {
$errorqueue['login'] = "Invalid username/password";
$username = (isset($_POST['username'])) ? $_POST['username']: ""; //check if there is a username supplied, if not then leave it blank
$password = (isset($_POST['password'])) ? $_POST['password']: ""; //check for password
foreach($accounts as $value) //this is our login attempt
{
if(($username == $value['username']) && ($password == $value['password']))
{
//please please please, never ever use this as a real login validation method!!! I'm just using it because i'm doing this quickly!
$_SESSION['username'] = $username;
$_SESSION['cart'] = ''; //this is our cart for the user this session
unset($errorqueue['login']);
}
}
}
break;
case "logout":
session_unset(); //deletes all session variables/cookies
break;
case "additem":
//this is a quick and dirty way to make a cart! plz if you're ever going to make a cart... don't do this!
$itemid = (isset($_GET['itemid'])) ? $_GET['itemid']: "";
if($itemid != "")
{
if($_SESSION['cart'] == "")
{
$_SESSION['cart'] = array($products[$itemid]);
} else {
array_push($_SESSION['cart'], $products[$itemid]);
}
}
break;
case "clearcart":
$_SESSION['cart'] = "";
break;
}

//we can now dynamically load our data knowing if we're logged in or not.
//I'll even throw in some neat little effects because i'm bored
echo <<<DISP
<html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Rex's awesome thing</title>

<script type="text/javascript" language="javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"> </script>
<script type="text/javascript" language="javascript">
$(function() {
$('.button').mouseover(function() {
$(this).animate({opacity:1},200);
})
.mouseleave(function() {
$(this).animate({opacity:.6},200);
});
$('#login_button').click(function() {
$('#login_form').submit();
});
$('.disp_item').click(function() {
var itemid = $(this).attr("id");
var location = "index.php?action=additem&itemid="+itemid;
window.location.href = location;
});
$('.disp_item').mouseover(function() {
$(this).css("background-color","#CCC");
})
.mouseleave(function() {
$(this).css("background-color","transparent");
});
$('#clearcart').click(function() {
window.location.href= "index.php?action=clearcart";
});
});
</script>

<style type="text/css">
body {
background-color:#000;
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
user-select: none;
min-width:1000px;
}
#wrapper {
position:absolute;
top:10px;
right:50px;
left:50px;
min-height:500px;
background-color:#333;
border-radius: 15px;
padding: 10px 20px;
}
.button {
display:inline-block;
padding: 2px 20px;
background-color:#FFF;
border: 1px solid #999;
opacity:.6;
cursor:pointer;
border-radius:7px;
}
#logout {
color:#FFF;
}
.lololol {
display:inline-block;
width:150px;
}
.di_desc {
width:600px !important;
}
.disp_item {
cursor:pointer;
}
</style>
</head>
<body>
<div id="wrapper">
DISP;
//the "DISP;" line must be on the far left with nothing after it. don't ask why. It just must.


//now check to see if we're logged in or not
if(isset($_SESSION['username'])) //now i'm using the true/false return of the "isset" function to determine if we've set (logged in) this variable
{
//yes we're logged in! lets show some stuff!
$dUsername = $_SESSION['username'];

echo <<<DISP
Welcome $dUsername!<br />
It's nice to see you back! <br />
Click <a href="index.php?action=logout" id="logout">here</a> to logout!<br />
<br />
DISP;
//this disp, same as above
//lets display the stuff we have in our cart already
echo "Stuff we have in our cart:<br />\n";
$cart_total = 0;
if($_SESSION['cart'] != '') {
foreach($_SESSION['cart'] as $key => $value)
{
$cart_total = $cart_total + $value['price'];
$name = $value['name'];
$price = $value['price'];
$desc = $value['description'];
echo <<<DISP
<div class="ahahahaha">
<span class="di_name lololol">$name</span>
<span class="di_price lololol">\$$price</span>
<span class="di_desc lololol">$desc</span>
</div>
DISP;
} }
echo "Cart total: $".$cart_total;
echo '<br /><span class="button" id="clearcart">Clear Cart</span>';
echo "<br /> <br/>\n"; //some space
//lets display stuff not in our cart
echo "Click an item to add it to your cart:<br />\n";
foreach($products as $key => $value)
{
$name = $value['name'];
$price = $value['price'];
$desc = $value['description'];
echo <<<DISP
<div id="$key" class="disp_item">
<span class="di_name lololol">$name</span>
<span class="di_price lololol">\$$price</span>
<span class="di_desc lololol">$desc</span>
</div>
DISP;
//you know the drill...
}
} else { //isset if
//no we're not logged in, show our login form
echo <<<HAHA
<form method="post" action="index.php?action=login" id="login_form">
Username:<br />
<input type="text" placeholder="Username" name="username" id="login_username" /><br />
<br />
Password:<br />
<input type="password" placeholder="Password" name="password" id="login_password" /><br />
<br />
</form>
<span class="button" id="login_button">Login</span>
HAHA;
//the "HAHA;" line must be on the far left.
} //isset if

//show our errors
echo "<br /> <br />\n";
if($errorqueue != "") {
foreach($errorqueue as $key => $value)
{
echo $key . " error: " . $value . "! <br />\n";
}}
echo <<<FINI
</div>
</body>
</html>
FINI;
?>

如果您没有可以解析 PHP 的服务器,我已将它放在我的服务器上(因为我需要在提供它之前对其进行测试)在这里可用:
Your SQL-less shopping cart

关于php - 没有 SQL 的简单 PHP 购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8597556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com