好的,所以我不确定如何解释这个问题,但这里是:
如果输入与我的数据库中的数据相对应,我有一个登录名。如果是这样,我创建一个 $_SESSION["login"]。用户现在已登录。
此会话的创建没有问题。所以这是我用来检查会话是否存在的代码:
session_start();
if(!isset($_SESSION["login"])){
$_SESSION["denied"]= "You need to be logged in to access this page";
header("location:index.php");
}
现在,当我转到我的页面“购物车”(位于我的 index.php 页面上的链接)时,我将上面的代码放在页面的开头,因为您需要登录才能查看此页面。但是我可以看到浏览器加载该页面,但没有任何反应。就好像我在我的“购物车”页面上的一瞬间,但它......
任何人都可以帮我解决这个问题。PHP对我来说主要是一个谜。
谢谢!
好的,这是代码的更新。这部分是我放入我的'cart.php
<?php
session_start();
include("inc/database.php");
if(!isset($_SESSION["login"])){
$_SESSION["denied"]= "You need to be logged in to access this page";
header("location: index.php");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">
<head>
<title>Cart</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="http://code.jquery.com/jquery-1.7.2.js"></script>
</head>
<body>
testing if the page shows correctly
</body>
</html>
这是我的登录检查代码
<?php
session_start();
include("inc/database.php");
include("inc/clean.php");
if(isset($_POST['login'])){
$username2=clean($_POST['username2']);
$password2=clean($_POST['password2']);
$query=("SELECT *
FROM signup
WHERE username='$username2'
AND password='$password2';");
$result=mysql_query($query);
$count=mysql_num_rows($result);
$query2=("SELECT id
FROM signup
WHERE username='$username2';");
$result2=mysql_query($query2);
while(list($id)=mysql_fetch_row($result2)){
echo($id);
}
if($count == 1){
$_SESSION["username"] = $username2;
header('location:index.php');
}else{
$_SESSION["error"] = "error";
header('location:index.php');
}
}
?>