我正在做一个学校项目,我必须创建一个网站。我不太擅长 php,觉得它很困惑。我需要完成的是,当客户单击“立即购买”按钮并输入他们的电子邮件地址时,页面将 1. 仅在检查他们是否已经登录后将他们的订单写入数据库。如果客户未登录,他们将被重定向到登录页面。
<?php
// Start a PHP session
session_start();
// Check to see if user is already logged in
if(isset($_SESSION["sname"]))
{
header('Location: custwelcome.php');
exit;
}
?>
正如我所假设的,这应该确保从客户登录存储的 session 变量存在。
我是否可以将这段代码放在将客户订单写入数据库的 php 代码之前?或者我会将其放在“产品”详细页面上。 (对于作业,网页在单击“立即购买”按钮之前还是之后检查并不重要。它只需要检查即可)。
如果这没有提供足够的详细信息,这是我的产品页面:
<!DOCTYPE html>
<!-- XXXX
project
athletic1.htm -->
<html lang="en">
<head>
<!-- Meta tag -->
<meta name="robots" content="noindex.nofollow" />
<meta charset="utf-8" />
<!-- Link tag for CSS -->
<link type="text/css" rel="stylesheet" href="../stylesheet/project.css" />
<!-- Javascript tags -->
<script type="text/javascript" src="../js/projectmessages.js"></script>
<!-- Web Page Title -->
<title>Shoe Source Unlimited - Athletic Shoe Sale</title>
</head>
<body>
<div id="header">
<img src="../images/logo.png" alt="Logo" />
<p class="sh1">Shoe Source Unlimited</p>
<p class="sh2">Your source for lightning sales of this season's hot shoes! </p>
<p class="sh3">XXXXX </p>
</div>
<div id="navbar">
<ul id="nav">
<li>
<a href="../homepage.htm">Home</a>
</li>
<li>
<a href="#">Men's</a>
<ul>
<li><a href="../sneakers.htm">Sneakers</a></li>
<li><a href="../loafers.htm">Loafers</a></li>
<li><a href="../athletic.htm">Athletic</a></li>
</ul>
</li>
<li>
<a href="#">Women's</a>
<ul>
<li><a href="../boots.htm">Boots</a></li>
<li><a href="../heels.htm">Heels</a></li>
<li><a href="../sandals.htm">Sandals</a></li>
</ul>
</li>
<li>
<a href="../about.htm">About Us</a>
</li>
<li>
<a href="../signup.htm">Sign Up</a>
</li>
<li>
<a href="../login.php">Log In</a>
</li>
</ul>
</div>
<div id="external">
<p>
<a href="https://twitter.com/XXXXX" onclick="window.open(this.href); return false;">
<img src="../images/twitter.jpg" alt="twitter" />
</a>
</p>
<p>Follow us on Twitter!</p>
<br/>
<p>
<a href="http://www.facebook.com/ShoeSourceUnlimited" onclick="window.open(this.href); return false;">
<img src="../images/facebook.png" alt="facebook" />
</a>
</p>
<p>Like us on Facebook!</p>
<br/>
<a href="../em/projectem.htm">
<img src="../images/email.jpg" alt="pinkemail" />
</a>
</p>
<p> Send us an email!</p>
</div>
<form id="joinform" action="../purchaseconfirm.php" method="post">
<div id="about">
<p class="abouttitle">Grey Athletic Shoe with Orange Enhancements</p>
<p class="abouttitle"><img src="../images/shoes/athletic1.jpg" alt="athletic1" /></p>
<p class="description">This low-top athletic shoe is designed for comfort during long-use.
The bright orange color is just bright enough to show some flash without going over the top!</p>
<p class="price">Price: $22.00 - tax included </p><br/><br/>
<!--Email -->
<p class="size">
<label for="email">Email:</label>
<input type="email" id="email" name="email" required
title="Email: 6-59 characters, lowercase, valid email only!"
pattern="[a-z0-9.-_]+@[a-z0-9-]+\.[a-z]{2,6}"
maxlength="60"
onfocus="emailmsg()" />
</p>
<!-- Pick a size -->
<select name="size" id="size" required title="Select a size" >
<option value="">Select a size...</option>
<option value="athletic1size10">Grey and Orange Mens 10</option>
<option value="athletic1size10.5">Grey and Orange Mens 10.5</option>
</select>
<p class="submit">
<input type="submit"
value=" Buy Now! "/>
<br/><br/>
</p>
</div>
</form>
<div id="footer">
<p>
©2014, XXXXX
</p>
</div>
</body>
</html>
这是我所有购买的“确认页面”:
<!--
project
purchaseconfirm.php -->
<!-- this will write to DB -->
<?php
// Connect to LOCAL or SERVER MySQL Database. Just change between local and server
include('connect/local-connect.php');
// initialize and populate PHP variables from user-entered data
$email = $_POST['email'];
$size = $_POST['size'];
//Build a MySQL statement to populate the database table
$query =
"INSERT INTO shopping (email, size)
VALUES ('$email', '$size')";
// Run the query we just built
$result = mysqli_query($dbc,$query) or die('Unable to write to database');
// Close the database connection
mysqli_close($dbc);
?>
<html lang="en">
<head>
<!-- Meta tag -->
<meta name="robots" content="noindex.nofollow" />
<meta charset="utf-8" />
<!-- Link tag for CSS -->
<link type="text/css" rel="stylesheet" href="stylesheet/project.css" />
<!-- Javascript tags -->
<script type="text/javascript" src="js/projectmessages.js"></script>
<!-- Web Page Title -->
<title>Shoe Source Unlimited - Purchase Confirmation</title>
</head>
<body>
<div id="header">
<img src="images/logo.png" alt="Logo" />
<p class="sh1">Shoe Source Unlimited</p>
<p class="sh2">Your source for lightning sales of this season's hot shoes!</p>
<p class="sh3">XXXXX</p>
</div>
<div id="navbar">
<ul id="nav">
<li>
<a href="homepage.htm">Home</a>
</li>
<li>
<a href="#">Men's</a>
<ul>
<li><a href="sneakers.htm">Sneakers</a></li>
<li><a href="loafers.htm">Loafers</a></li>
<li><a href="athletic.htm">Athletic</a></li>
</ul>
</li>
<li>
<a href="#">Women's</a>
<ul>
<li><a href="boots.htm">Boots</a></li>
<li><a href="heels.htm">Heels</a></li>
<li><a href="sandals.htm">Sandals</a></li>
</ul>
</li>
<li>
<a href="about.htm">About Us</a>
</li>
<li>
<a href="signup.htm">Sign Up</a>
</li>
<li>
<a href="login/login.php">Log In</a>
</li>
</ul>
</div>
<div id="external">
<p>
<a href="https://twitter.com/XXXXX" onclick="window.open(this.href); return false;">
<img src="images/twitter.jpg" alt="twitter" />
</a>
</p>
<p>Follow us on Twitter!</p>
<br/>
<p>
<a href="http://www.facebook.com/ShoeSourceUnlimited" onclick="window.open(this.href); return false;">
<img src="images/facebook.png" alt="facebook" />
</a>
</p>
<p>Like us on Facebook!</p>
<br/>
<a href="email/projectem.htm">
<img src="images/email.jpg" alt="pinkemail" />
</a>
<p> Send us an email! </p>
</div>
<div id="main">
<p>Purchase Confirmed!</p>
</div>
<div id="about">
<p class="bold">
</p>
<p> Your payment has been approved and your purchase shall be shipped to you shortly </p>
<br/>
<p> Feel free to contact us with any further questions.</p>
<br/>
<form id="joinform" action="homepage.htm" method="get">
<p class="submit">
<input type="submit"
value=" Home Page "/>
</div>
<div id="footer">
<p>
©2014, XXXXX
</p>
</div>
</body>
</html>
我尝试将第一个代码应用于每个文档,但运气不佳 - 我仍然可以在不登录的情况下“购买”。提前谢谢您!
最佳答案
你可以这样做
if (!isset($_SESSION))
{
session_start();
}
// Check to see if user is already logged in
if(isset($_SESSION["sname"]))
{
header('Location: custwelcome.php');
}
关于PHP + MySQL - 如何在结帐之前检查是否登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23441031/