if(isset($_POST['submit']))
{
$username=$_POST['username'];
$password = md5($_POST['pwd']);
$query="SELECT * FROM users WHERE username='".$username."' AND pwd='".$password."'";
$result_set = mysql_query($query);
$num=mysql_num_rows($result_set);
if ($num > 0)
{
$found_user = mysql_fetch_array($result_set);
$_SESSION['uid'] = $found_user['id'];
$_SESSION['email'] = $found_user['email'];
$_SESSION['username'] = $found_user['username'];
echo "<script type='text/javascript'>
parent.jQuery.fancybox.close();
location.reload();
</script>";
}
else
{
header("location:login-register.php?error=1");
}
}
Я запускаю этот скрипт на своей странице входа. Он отлично работает на локальном сервере xampp, но идентификатор сессии не загружается и не работает, когда я загрузил свою папку на веб-сервер, который использует Fedora 13 с версией php 5.3.5.
Я проверил PHPinfo, идентификатор сессии активен, но он не работает на сервере. Пожалуйста помоги.
добавлять session_start()
в первой строке php файла.
session_start();
if(isset($_POST['submit']))
{
$username=$_POST['username'];
$password = md5($_POST['pwd']);
$query="SELECT * FROM users WHERE username='".$username."' AND pwd='".$password."'";
$result_set = mysql_query($query);
$num=mysql_num_rows($result_set);
if ($num > 0)
{
$found_user = mysql_fetch_array($result_set);
$_SESSION['uid'] = $found_user['id'];
$_SESSION['email'] = $found_user['email'];
$_SESSION['username'] = $found_user['username'];
echo "<script type='text/javascript'>
parent.jQuery.fancybox.close();
location.reload();
</script>";
}
else
{
header("location:login-register.php?error=1");
}
Пожалуйста, добавьте session_start()
в верхней части файла, чтобы использовать session
Примечание :
1) Пожалуйста, не используйте
mysql_
, Устарела и удалена
из PHP 7.Используйтеmysqli_*
или жеPDO
,2) Ваш запрос открыт для SQL инъекций. Прочитай это :
Как я могу предотвратить внедрение SQL в PHP?