Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: Logowanie + MySql
Forum PHP.pl > Forum > Gotowe rozwi±zania
sajborg
Siemka mam skrypt do logowania.Opiera sie na mysql.I mam pewien problem mianowicie.Loguje mi osoby z bazy.Ale czasami loguje jako xx a tego usera nie ma w bazie.I wiele osob tak ma

Oto logowanie

[php:1:aab39c13d7]<?
include("config2.php"); //polaczenie z mysql itp.
if ($action==1) //czy nalezy wyswietlic formularz?
{
$query=mysql_query("SELECT * from usser WHERE login='$login'");//sprobuj pobrac z bazy dane usera o loginie $login
if (!($dane=mysql_fetch_array($query)))
{
Die("<font color=red>Nieprawid³owa nazwa u¿ytkownika, lub has³o, albo nie masz uprawnien</font>");//jesli go nie ma to wyswietl komunikat i zatrzymaj program
}
else
{
$pass=$dane['pass']; //w innym wypadku pobierz dane
$aktywny=$dane['aktywny'];
$reader=$dane['reader'];
$admin=$dane['admin'];
$email=$dane['email'];
if (($pass!=$haslo)||($aktywny==0)||($reader!=0)) //jezeli haslo nie jest poprawne lub user jest czytelnikiem lub jest zbanowany
{
Die("<font color=red>Nieprawid³owa nazwa u¿ytkownika, lub has³o, albo nie masz uprawnien</font>"); //to wyswietl komunikat
}
elseif (($pass==$haslo)&&($aktywny==1)&&($reader==0))
{
session_register("login","admin","email");//inaczej zarejestruj sesje uzytkownika
$sid=session_id();
$zalogowany=1;
print 'Uda³o Ci siê zalogowaæ';
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" />
<title>ADMIN AREA</title>
<link rel="stylesheet" href="styl.css" type="text/css">
<?
if (isset($zalogowany)) //jesli istnieje zmienna zalogowany
{
print '<meta http-equiv="refresh" content="2;URL=login.php?'.session_name().'='.$sid.'">'; //to zrob przekierowanie do nastepnej strony
}
?>
</head>
<body>
<?
if (!isset($action)) //jesli zmienna action nie istnieje to wyswietl formularz
{
include("log.inc");

}

?>
</body>
</html>
[/php:1:aab39c13d7]

Ok a teraz plik z konfiguracj±


[php:1:aab39c13d7]
<?
$host='localhost';
$baza='xy';
$user='xx';
$pass='xx';
$sql=mysql_connect($host,$user,$pass);
mysql_select_db($baza,$sql);
?>
[/php:1:aab39c13d7]

Powiedzcie mi dlaczego czasami loguje ludzi jako XX a nie jako login ten co wpisali.Przeciez tego xx nie ma w bazie.A ludzie nie wpisuj± podczas logowania Login: xx
nobody
Tyle linijek kodu, a nie mozesz tego zrobic poprostu tak:
[php:1:1a74bbd576]<?php
session_start();
//inne
$cos=mysql_query("SELECT * FROM tabela WHERE login='".$_POST['login']."' AND haslo='".$_POST['pass']."' AND reader=1 AND aktywny=1");
if(!$check=mysql_fetch_assoc($cos)){
die("Niepoprawne dane!");
}
else{
$_SESSION['login']=$_POST['login'];
}
?>[/php:1:1a74bbd576]
[php:1:1a74bbd576]<?php
session_start();
if(!empty($_SESSION['login'])){
print "Zalogowany: ".$_SESSION['login'];
}
else{
die("Zaloguj sie");
}
?>[/php:1:1a74bbd576]
sajborg
No dobra pozmnienia³em ale ludzie sie nadal mowi± ze loguje sie jako xx dlaczego tak sie dzieje

[php:1:ca1d764475]<?
session_start();
include("config2.php"); //polaczenie z mysql itp.
if ($action==1) //czy nalezy wyswietlic formularz?
{
$cos=mysql_query("SELECT * FROM cmf_users WHERE login='".$_POST['login']."' AND pass='".$_POST['haslo']."' AND reader=0 AND aktywny=1");
if(!$check=mysql_fetch_assoc($cos)){
die("Niepoprawne dane!");
}
else{
$_SESSION['login']=$_POST['login'];
$zalogowany=1;
print "Zalogowany: ".$_SESSION['login'];
}

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" />
<title>ADMIN AREA</title>
<link rel="stylesheet" href="styl.css" type="text/css">
<?
if (isset($zalogowany)) //jesli istnieje zmienna zalogowany
{
print '<meta http-equiv="refresh" content="2;URL=login.php">';
}
?>
</head>
<body>
<?
if (!isset($action)) //jesli zmienna action nie istnieje to wyswietl formularz
{
include("log.inc");

}

?>
</body>
</html>
[/php:1:ca1d764475]
To jest wersja lo-fi g³ównej zawarto¶ci. Aby zobaczyæ pe³n± wersjê z wiêksz± zawarto¶ci±, obrazkami i formatowaniem proszê kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.