2015-10-01 74 views
0

我希望用戶只能夠訪問的車,如果他們已登錄。PHP會話不會允許查看在我的「購物車」

的index.html

<?php 
    session_start(); 
?> 
<!DOCTYPE html> 
<html lang="en"> 

Cart.php

<?php 

if(!isset($_SESSION["userName"])) 
{ 
    header("Location: ../index.html"); 
} 

?> 

connectivitity.php

function SignIn() 
{ 
    session_start(); //starting the session for user profile page 
    if(!empty($_POST['user'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text 
    { 
     $query = mysql_query("SELECT * FROM UserName where userName = '$_POST[user]' AND pass = '$_POST[pass]'") or die(mysql_error()); 
     $row = mysql_fetch_array($query) or die(mysql_error()); 
     if(!empty($row['userName']) AND !empty($row['pass'])) 
     { 
      $_SESSION['userName'] = $row['pass']; 
      header("location: ../PHP/Cart.php"); 

     } else { 
      echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY..."; 
      } 
     } 
    } 
    if(isset($_POST['submit'])) 
    { 
     SignIn(); 
    } 

在這一點上,無論我嘗試的變化,它都會將我重定向到index.html。甚至認爲我改變了標題直接帶我到Cart.php文件。

進出口運行上的cPanel一個GoDaddy的主機包,這是在.htaccess文件

Options +MultiViews 
AddType application/x-httpd-php .html .htm 
+3

與無效的查詢字符串語法附近'的userName =「$ _ POST [用戶]」 _deprecated_ MySQL的功能,並通過=「$ _ POST [通]」' – user5173426

+0

不知道到底是什麼意思,我還在當談到嬰兒到php – Charles

+0

這意味着你使用的每一個函數開始於'mysql_'將會在不久的將來停止工作並存在,所以建議將它們改爲'mysqli_'(它不僅僅是在' mysql',閱讀手冊以獲取更多信息)或者PDO對象。 –

回答

1

我不知道,如果這個核心問題,但無論如何,您應該看它。

1)相反不當字符串連接的查詢:

$query = mysql_query("SELECT * FROM UserName where userName = '$_POST[user]' AND pass = '$_POST[pass]'") or die(mysql_error()); 

使其更簡單:

$user = $_POST['user']; 
$pass = $_POST['pass']; 

$query = "SELECT * FROM UserName where userName = '$user' AND pass = '$pass'"; 
$query = mysql_query($query) or die(mysql_error()); 

2)如果您使用無論/設置/取消/或者通過sessions做任何事情。總是在代碼的開頭寫入session_start();

您的固定cart.php

<?php 
session_start(); 
if(!isset($_SESSION["userName"])) 
{ 
    header("Location: ../index.html"); 
} 

?> 

注意:雖然這些修補程序可以幫助你解決你的問題。但強烈建議將 遷移到mysqliPDO,並準備好語句 ,因爲此代碼仍傾向於SQL注入。