Witam,
mam problem z kodowaniem. Udało mi się ustawić komentarze, rejestracje - tutaj kodowanie UTF-8 działa, wszystko jest w porządku.
Problem pojawia się jednak przy logowaniu. Jeżeli utworzę poprzez formularz rejestracyjny użytkownika o nazwie
użytkownik, to w bazie istnieje "
użytkownik". Natomiast formularz logowania niestety nie rozpoznaje wpisanych polskich znaków. Może ktoś będzie w stanie mi pomóc.
Tutaj jest plik login.php:
<p class="ng">Logowanie</p>
<p>Zaloguj się podając swój login i hasło.<br><br></p>
<?php
if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true)) {
header('Location: /panel,pl.html'); }
?>
<?php
if(isset($_SESSION['blad'])) echo $_SESSION['blad']; ?>
<form action="/zaloguj,pl.html" method="post">
<table border="2" style="border-style: none;" width="200" align="center">
<tr>
<th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" align="center">
Login:</th><th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" align="center">
<input type="text" name="login" style="color:#39759B; font-weight: bold;" /></th>
</tr>
<tr>
<th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" align="center">
Hasło:</th>
<th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" align="center">
<input type="password" name="pass" style="color:#39759B; font-weight: bold;" /></th>
</tr>
</table>
<table border="1" style="border-style: none;" width="20" align="center">
<tr>
<th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" width="200" align="center">
<input type="submit" value="Zaloguj" /></th>
</form>
</th>
</tr>
</table>
A tutaj plik "zaloguj.php" gdzie jest wszystko dotyczące sesji i logowania:
<?php
class user {
public function passSalter ($pass) {
$pass = '$@@#$#@$'.$pass.'q2#$3$%##@';
}
}
if ((!isset($_POST['login'])) || (!isset($_POST['pass']))) {
header('Location: /login,pl.html');
}
require_once "connect.php";
$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
if ($polaczenie->connect_errno!=0)
{
echo "Error: ".$polaczenie->connect_errno; }
else
{
$login = $_POST['login'];
$pass = $_POST['pass'];
$pass = user::passSalter($pass);
if ($rezultat = @$polaczenie->query(
sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'", mysqli_real_escape_string($polaczenie,$login),
mysqli_real_escape_string($polaczenie,$pass))))
{
$ilu_userow = $rezultat->num_rows;
if($ilu_userow>0)
{
$_SESSION['zalogowany'] = true;
$wiersz = $rezultat->fetch_assoc();
$_SESSION['id'] = $wiersz['id'];
$_SESSION['user'] = $wiersz['user'];
$_SESSION['email'] = $wiersz['email'];
$_SESSION['imie'] = $wiersz['imie'];
$_SESSION['nazwisko'] = $wiersz['nazwisko'];
unset($_SESSION['blad']); $rezultat->free_result();
header('Location: /panel,pl.html');
} else {
$_SESSION['blad'] = '<table border="2" style="border-style: none;" width="500" align="center">
<tr>
<th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" align="center">
<b>Nieprawidłowy login lub hasło!</b></th>
</tr>
</table><br />';
header('Location: /panel,pl.html');
}
}
$polaczenie->close();
}
?>
Czy ktoś widzi gdzieś problem? Bo ja już nie daje rady.
Ten post edytował Mlody993 8.03.2016, 20:42:05