System logowania [SESJE] ;-)

0

Witam,

Sciagnelem jeden ze skryptow zamieszczonych w tym serwisie - "System zabezpieczenia stron haslem, cz.2", [ z artykulu autorstwa muzaMen ], skrypt ten bardzo mi sie podoba ;-), jednak ze chcialbym go w pewnym sensie "upgardowac", a mianowicie... chcialbym dodac jeszcze jedno pole o nazwie "login", aby user musial wpisac swoja nazwe uzytkownika.

Stworzylem cos takiego:

<?
include("../include/config.php");
include("../include/style_css.php");
session_start();

if($login=="" || $haslo=="")
{ // tutaj mala modyfikacja a czy poprawna?
print "<center>To jest prywatna część strony, wymagane jest hasło:</center><br>";
print "<center><form method=post action=strona.php></center>";
print "<center>login: <br><input type=password name=login></center><br>";
print "<center>haslo: <br><input type=password name=haslo></center><br>";
print "<center><input type=submit value=loguj></center></form>";
exit;

} else if($action=='wyloguj') { // skrypt odpowiedzialny za wylogowanie z systemu ale cos nie dziala tak jak powinien...

session_destroy();
print "<center>Zostałeś pomyślnie wylogowany</center>";
print "<center><form method=post action=strona.php></center>";
print "<center>login: <br><input type=password name=login></center><br>";
print "<center>haslo: <br><input type=password name=haslo></center><br>";
print "<center><input type=submit value=loguj></center></form>";
exit;

} 
else if (($login=="$login_admina") && ($haslo=="$haslo_admina"))
 { // moja kolejna mala modyfikacja zmiena login_admina i haslo_admina pobierane sa z pliku config.php

session_register ("login");

} else { // wyświetla komunikat jeżeli wpisane hasło jest błędne i to dziala

print "<center>Błędne hasło!!!</center>";
print "<center><form method=post action=strona.php></center>";
print "<center>login: <br><input type=password name=login></center><br>";
print "<center>haslo: <br><input type=password name=haslo></center><br>";
print "<center><input type=submit value=loguj></center></form>";
exit;
}
?>

Niestety, ale moim "mega..." zmodifikowaniu, niestety skrypt nie dziala tak, jak powinien, np. gdy chce sie wylogowac "?action=wyloguj", wyswietla mi sie formularz aby wpisac swoj login i haslo, a nie komunikat "ze zostalem wylogowany". Czy moglby mi ktos powiedziec, cuz zle zrobilem?

Jak widac, zapewnie... jestem BARDZO poczatkujacym programista PHP, praktycznie dopiero sie ucze ;)

Z gory Wielkie Dzieki Za Pomoc :)

0

a nie powinno byc cos w tym rodzaju ?

<?
include("../include/config.php");
include("../include/style_css.php");
session_start();

if($_GET['action']=='wyloguj') {
  $_SESSION['login']='';
  $_SESSION['haslo']='';
  session_destroy();
  ?>

  <center>Zostałeś pomyślnie wylogowany
  <form method=post action=strona.php>
  login: <br /><input type=password name=login /><br />
  haslo: <br /><input type=password name=haslo /><br />
  <input type=submit value=loguj /></form></center>

  <?php
  exit;
}

if(!isset($_POST['login']) || !isset($_POST['haslo']))){
  ?>

  <center>To jest prywatna część strony, wymagane jest hasło:<br />
  <form method=post action=strona.php>
  login: <br /><input type=password name=login /><br />
  haslo: <br /><input type=password name=haslo /><br />
  <input type=submit value=loguj /></form></center>

  <?php
  exit;
} else
  if (($_POST['login']==$login_admina) && (md5($_POST['haslo'])==$haslo_admina)){
    $_SESSION['login']=$_POST['login'];
    $_SESSION['haslo']=md5($_POST['haslo']);
  } else {
    ?>

    <center>Błędne hasło!!!
    <form method=post action=strona.php>
    login: <br /><input type=password name=login /><br />
    haslo: <br /><input type=password name=haslo /><br />
    <input type=submit value=loguj /></form></center>

    <?php
    exit;
}
?>

staraj się nie trzymać nigdy hasła w czystej formie, koduj czymś, możesz md5, napisz sobie skrypt:

<?php echo md5('twoje aktualne hasło'); ?>

i tym wynikiem zastąp tamto hasło w czystej formie w tym jednym pliku i wtedy zastąp fragment kodu: "md5($_POST['haslo'])==$haslo_admina)" na "$_POST['haslo']==$haslo_admina)"

0

WIELKIE DZIEKI ZA POMOC !!!
;-) [browar] [soczek] [browar] [soczek]

1 użytkowników online, w tym zalogowanych: 0, gości: 1