r   e   k   l   a   m   a

[PHP][MySQL] Logowanie

Wszystko co dotyczy tworzenia stron WWW.

[PHP][MySQL] Logowanie

Post przez master of disaster » 07.02.2010 (N) 20:55

Witam!

Mam problem z logowaniem, otóż jak odświerze strone to już nie jestem zalogowany.
kod:
Kod: Zaznacz cały

<?php
session_start
();

mysql_connect('localhost','root','haslo') or die(mysql_error());
mysql_select_db('nk') or die(mysql_error());

$user = strip_tags($_POST['user']);
$pass = strip_tags(md5($_POST['pass']));
$login=$_POST['login'];
if(
$login) {
   
   $rezultat
=mysql_query("select id FROM tabela WHERE user='$user' AND pass='$pass'");
   
   if
(@mysql_num_rows($rezultat)) { 
      $row 
= mysql_fetch_row($rezultat);
      $_SESSION['uzytkownik'] = $row[0];
      include("includes/logged.php");
      exit;
   }
   else {
      echo "Podales zle dane. Sproboj ponownie.";
   }
   
 
}
else {
        include("includes/not_logged.php");
        exit;
}

if (isset($_SESSION['uzytkownik'])){
    include("includes/logged.php");
    exit;
}
else {
    include("includes/not_logged.php");
    exit;
}
?>
Obrazek
CPU:AMD Athlon 64 X2 5000+ MOBO:Gigabyte MA78G-DS3H RAM:CORSAIR XMS2 4GB (4 x 1GB) HDD:Seagate Barracuda 320GB
GPU:XFX Radeon™ HD 4850 1GBZasilacz:Modecom Carbon 530W Głośniki:Creative Inspire T3100 Monitor:Samsung SyncMaster 940n plus
Avatar użytkownika
master of disaster
 
Posty: 599
Dołączył(a): 29.06.2008 (N) 13:36
Lokalizacja: Tarnów

Re: [PHP][MySQL] Logowanie

Post przez kostek135 » 08.02.2010 (Pn) 18:34

Bo jest to źle napisane po przeładowaniu strony zmienna post zostaje wyzerowana

Kod: Zaznacz cały
if($login) {
   
   $rezultat=mysql_query("select id FROM tabela WHERE user='$user' AND pass='$pass'");
   
   if(@mysql_num_rows($rezultat)) {
      $row = mysql_fetch_row($rezultat);
      $_SESSION['uzytkownik'] = $row[0];
      include("includes/logged.php");
      exit;
   }
   else {
      echo "Podales zle dane. Sproboj ponownie.";
   }
   
}
else {
        include("includes/not_logged.php");
        exit;
}


Wykonuje się więc ostatni else.
-Co w dzisiejszych czasach jest gorsze niewiedza, czy obojętność?
-Nie wiem, nie obchodzi mnie to...
kostek135
 
Posty: 331
Dołączył(a): 25.07.2008 (Pt) 13:14

Re: [PHP][MySQL] Logowanie

Post przez master of disaster » 08.02.2010 (Pn) 20:45

To co zrobić, usunąć to else ? możesz podać kod ?
Obrazek
CPU:AMD Athlon 64 X2 5000+ MOBO:Gigabyte MA78G-DS3H RAM:CORSAIR XMS2 4GB (4 x 1GB) HDD:Seagate Barracuda 320GB
GPU:XFX Radeon™ HD 4850 1GBZasilacz:Modecom Carbon 530W Głośniki:Creative Inspire T3100 Monitor:Samsung SyncMaster 940n plus
Avatar użytkownika
master of disaster
 
Posty: 599
Dołączył(a): 29.06.2008 (N) 13:36
Lokalizacja: Tarnów

Re: [PHP][MySQL] Logowanie

Post przez kostek135 » 08.02.2010 (Pn) 21:12

Kod: Zaznacz cały
<?php
session_start();

mysql_connect('localhost','root','haslo') or die(mysql_error());
mysql_select_db('nk') or die(mysql_error());

$user = strip_tags($_POST['user']);
$pass = strip_tags(md5($_POST['pass']));
$login=$_POST['login'];
if($login)
{
   $rezultat=mysql_query("select id FROM tabela WHERE user='$user' AND pass='$pass'");
   if(@mysql_num_rows($rezultat))
   {
      $row = mysql_fetch_row($rezultat);
      $_SESSION['uzytkownik'] = $row[0];
   }
   elseif(!isset($_SESSION['uzytkownik']))
   {
      echo 'Podales zle dane. Sproboj ponownie.';
   }
}
if(isset($_SESSION['uzytkownik']))
{
   include('includes/logged.php');
}
else
{
   include('includes/not_logged.php');
}
?>


Powinno być dobrze, niemniej nie sprawdzałem.

EDIT uaktualniłem kod, zapomniałem o warunku co będzie, jeśli sesja już istnieje, a zmienna login nie będzie istnieć.
-Co w dzisiejszych czasach jest gorsze niewiedza, czy obojętność?
-Nie wiem, nie obchodzi mnie to...
kostek135
 
Posty: 331
Dołączył(a): 25.07.2008 (Pt) 13:14

Re: [PHP][MySQL] Logowanie

Post przez master of disaster » 08.02.2010 (Pn) 23:02

Dzięki wielkie ;)
Obrazek
CPU:AMD Athlon 64 X2 5000+ MOBO:Gigabyte MA78G-DS3H RAM:CORSAIR XMS2 4GB (4 x 1GB) HDD:Seagate Barracuda 320GB
GPU:XFX Radeon™ HD 4850 1GBZasilacz:Modecom Carbon 530W Głośniki:Creative Inspire T3100 Monitor:Samsung SyncMaster 940n plus
Avatar użytkownika
master of disaster
 
Posty: 599
Dołączył(a): 29.06.2008 (N) 13:36
Lokalizacja: Tarnów

Re: [PHP][MySQL] Logowanie

Post przez Szarex » 09.02.2010 (Wt) 17:39

A ja mam pytanie dotyczące tej linijki:
Kod: Zaznacz cały
$pass = strip_tags(md5($_POST['pass'])); 


Wynik funkcji md5 nie zawiera już tagów. Po co stosować więc strip_tags dla ciągu md5? Jakiś sens miało by za to:
Kod: Zaznacz cały
$pass md5(strip_tags($_POST['pass']));  
Linux - 0 zł, Windows - kilkaset PLN, Uczciwość i poczucie posiadania legalnego oprogramowania: bezcenne
Avatar użytkownika
Szarex
 
Posty: 224
Dołączył(a): 04.04.2006 (Wt) 21:21
Lokalizacja: powiat tarnowski


Powrót do Webmastering

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości