2014-11-06 7 views
2

Ok, так что идея двух сценариев ниже очень simple.First, в login.php, мы относим $_SESSION['username']=$username, а затем перенаправить страницу index.php, где скрипт проверяет if $_SESSION['username'] является set.If это checked, затем Редактировать профиль и Выйти показан вариант, и если он не установлен, отображаются такие параметры, как Вход и регистрация. Но даже если форма заполнена правильно, тогда она также показывает параметры входа и регистрации. Он работает с печеньем enabled.But нет, если они disabled.Here являются кодыPHP SESSION не работает без печенья включен


Login.php

session_start(); 
. 
. 
. 
if(mysqli_num_rows($result)==1){ 
$row=mysqli_fetch_array($result); 
$_SESSION['username']=$username; 
$_SESSION['password']=$password; 
$location="http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php"; 
header("Location:".$location."?".htmlspecialchars(SID)); 
} 

Index.php

session_start(); 
if(isset($_SESSION[SID.'username'])){ 
echo '&#10084;<a href="viewprofile.php">View Profile</a>'."<br>"; 
echo '&#10084;<a href="editprofile.php">Edit Profile</a>'."<br>"; 
echo '&#10084;<a href="logout.php">Logout</a>'."<br>"; 
} 
else{ 
echo '&#10084;<a href="login.php">Login</a>'; 
echo '&#10084;<a href="signup.php">Signup</a>'; 

Теперь, когда я есть все php.ini настройки правильные и use_cookie=0 и trans_sid = 1, то, если я поставлю правильную информацию на login.php, index.php показывает код кода else.Whats проблема?

ответ

0

Если вы не используете фреймворк, о котором вы не упомянули, я бы сказал, что ваш справочник имеет ужасные опечатки. Я не вижу ни одного PHP directive под названием trans_sid. Ближайшее, что существует, session.use_trans_sid:

session.use_trans_sidboolean session.use_trans_sid включена ли поддержка прозрачной с.и.д. или нет. По умолчанию 0 (отключено)

use_cookie также не существует.

+0

ну, это те же самые ярлыки для обеих директив ...... – LalaByte

+0

Не могли бы вы разместить ссылку на официальную документацию PHP, которая поддерживает ваше заявление? –

+0

Я просто использовал для своего удобства, потому что я был очень расстроен. – LalaByte