Witam.
Mam problem otóż zrobilem logowanie na sesjach i wszsytko dziala ale... nie da sie zalogować z niektórych telefonów i internetu przenosnego (czasami sie to udaje ale moze 5% prob jest udanych).
Na poczatku myslalem ze to wina telefonu, ale mam coraz wiecej zgloszen ze to nie dziala.
Nie wiem od czego zacząć naprawe, zwlaszcza ze u mnie wszsytko dziala na telefonie.
Nie wiem czy telefony maja problem z sesjami, ale sesje sa na serwie...
Dodam jeszcze ze nie wyswietla sie zadna informacja o blednym logowaniu itp.
Podam moze kod logowania i prosilbym o przejrzenie gdzie moze być blad. no i przy okazji zerknijcie czy jest to bezpieczny kod.
Formularz loginu i hasla:
<form method="POST" action="/i/logowanie">
<input class="form" name="login">
<input class="form" type="password" name="haslo">
<input type="image" src="menu/zaloguj.png" name="Loguj" width="52" height="20">
</form>
plik logowania:
<?
function Oczysc($zmienna)
{
$zmienna=trim($zmienna); //OBCINA SPACJE PRZED I PO
$zmienna=strip_tags($zmienna); //USUWA KOD HTML I PHP
$zmienna=htmlspecialchars($zmienna); //USUWA KOD HTML
$zmienna=addslashes($zmienna); //DODAJE UKOSNIKI PRZED ' " / NULL
$zmienna=mysql_escape_string($zmienna); //USUWA ZAPYTANIA MySQL
return $zmienna;
}
$_SESSION = array();
session_destroy();
$login=$_POST["login"]; $login=strtolower(Oczysc($login)); //Funkcja Oczysz
$haslo=$_POST["haslo"]; $haslo=Oczysc($haslo);$haslo=md5($haslo);
if (!isset($_SESSION['sprawdz'])) //WYDAJE MI SIE ZE TU JEST BLAD
{
session_regenerate_id();
$_SESSION['sprawdz'] = true;
$_SESSION['adres_ip'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['adres_ip'] !== $_SERVER['REMOTE_ADDR'])
{
header( "Location: http://www.strona.pl");
exit;
}
Pozniej nastepuje sprawdzenie MySQL czy jest taki login i haslo
Jesli tak to:
session_start();
$_SESSION['kto']= "$login";
header( "Location: ../user/zalogowano");
exit;
To tyle tego.
Wedlug mnie to powinno dzialac, a nie dziala ;/
Prosze o sugestie.
Dzieki