Я только начал изучать PHP и написал для моего сайта систему учетных записей с PHP и mySQL.Я знаю, что sql работает нормально, проблема в моем PHP-сеансе.
Когда я иду на тестирование, я могу попытаться войти в систему, и это не удается.Затем я пытаюсь войти снова, и это будет успешно.Это всегда успешно со второй попытки войти в систему.Это никогда не удается с первой попытки в Firefox, но это происходит в Chrome.Кроме того, пару раз в Chrome, после того, как мне удалось войти в систему, переход на несколько разных страниц на моем сайте, казалось, стирал сеанс.Или, по крайней мере, этот сеанс не регистрировался на этих других страницах.У меня не было этой проблемы в Firefox.Я проверил, дважды проверил, и трижды проверил, и все мои страницы вызывают session_start () раньше всего, поэтому я знаю, что это не может быть проблемой.
У меня не должно быть достаточно полнойпонимание PHP-сессий, поскольку они просто не работают согласованно.
После публикации я протестировал в IE, и там все отлично работает.Я вхожу в систему с первой попытки, и любая страница, которую я посещаю, поддерживает мой сеанс.
Вот код для php-скрипта, который фактически «регистрирует» пользователя:
<?php
session_start();
//pass info to mysql(servername, username, password)
$connect = mysql_connect ("localhost", "ggstudio", "mtgertai1");
if (!$connect)
{
die ('Failed to connect: ' . mysql_error());
}
mysql_select_db("ggstudio_accountDatabase", $connect);
//capture data sent to page through login
//usernameField and passwordField
$usernameSubmission = $_POST[usernameField];
$passwordSubmission = $_POST[passwordField];
$validAccount = mysql_query("SELECT * FROM userAccounts WHERE userID = '$usernameSubmission' AND userPassword = '$passwordSubmission'");
$row = mysql_fetch_array($validAccount);
if (($row['userID'] == $usernameSubmission)&&($row['userPassword'] == $passwordSubmission))
{
/*********************************
**********************************
assign global variables to session
after starting session and then***
redirect to user homepage*********
**********************************
**********************************
*/
//get account number from database
$_SESSION['accountNumber']= $row['accountNumber'];
//get first name from database
$_SESSION['firstName']= $row['firstName'];
//get last name from database
$_SESSION['lastName']= $row['lastName'];
//save username into session
$_SESSION['username']= $row['userID'];
//save password into session (only really useful if user wants to change password)
$_SESSION['userPassword']= $row['userPassword'];
//get user's email address from database
$_SESSION['userEmail']= $row['userEmail'];
//get GP from database
$_SESSION['gpoints']= $row['userGloryPoints'];
//get user join date from database
$_SESSION['userJoinDate']= $row['userJoinDate'];
//get user rank
$_SESSION['userRank']= $row['userRank'];
header('Location: http://www.glorygamer.com/account_home.php');
}
else
{
$loginFailed= TRUE;
setcookie("incorrectLogin", $loginFailed, time()+20);
header('Location: http://www.glorygamer.com/shibboleth.php');
}
?>