У меня проблема с сессиями, и я получаю неопределенный индекс даже после его определения. Вот мой код:
if(isset($_POST['username']) && isset($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];}
$sql = "SELECT * FROM useraccounts WHERE username = '$username' AND password = md5('$password')";
mysql_real_escape_string($username);
mysql_real_escape_string($password);
$query = mysqli_query($con,$sql);
$row = mysqli_fetch_array($query);
if($row)//if the user logged in.
{
echo '<font size="3" color="red">Succesfully logged in, '.$username.'</font>';
$_SESSION['logged'] = '$username';
}else{
echo '<font size="3" color="red">Wrong username or password.</font>';
}
And when i try to call it : [page 2]
echo $_SESSION['logged']; //line 8
Also i want this to work too:
$sql = "SELECT * FROM useraccounts WHERE username = '$user' ";
$query = mysqli_query($con,$sql);
$row = array();
while($row = mysqli_fetch_array($query)) {
echo $row['username'];
}
Любая помощь от вас очень приветствуется. Также, если вы знаете какие-нибудь хорошие учебники по PHP && MYSQL / Пожалуйста, помогите мне. Спасибо за совет — qwzjean.
Вы смешиваете mysql
а также mysqli
функционирует через друг друга. Выбери один.
Ты используешь mysql_real_escape_string($username);
а также mysql_real_escape_string($password);
в функции MySQL, таким образом, ваш пароль и имя пользователя не будут использоваться. Тогда вы не получите возврата, поэтому ваш код не будет работать.
Чтобы заставить это работать, попробуйте что-то вроде
if(isset($_POST['username']) && isset($_POST['password'])){
$username = mysqli_real_escape_string($con, $_POST['username']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$sql = "SELECT * FROM useraccounts WHERE username = '$username' AND password = md5('$password')";
$query = mysqli_query($con,$sql);
$row = mysqli_fetch_array($query);
if($row)//if the user logged in.
{
echo '<font size="3" color="red">Succesfully logged in, '.$username.'</font>';
$_SESSION['logged'] = '$username';
}else{
echo '<font size="3" color="red">Wrong username or password.</font>';
}
}
Других решений пока нет …