Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Logowanie
potreb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam, mam tu prościutki skrypt logowania na sesjach i cookie:

  1. <?php
  2. function logins(){
  3. if(isset($_POST['password']) && isset($_POST['user'])) {
  4. $user = addslashes(strtolower($_POST['user']));
  5. $password = addslashes(md5(strtolower($_POST['password'])));
  6. } else if(isset($_SESSION['user_login']) && isset($_SESSION['user_pass'])) {
  7. $user = $_SESSION['user_login'];
  8. $password = $_SESSION['user_pass'];
  9. } else if(isset($_COOKIE['login'])) {
  10. $r = explode("::", $_COOKIE['login']);
  11. $user = $r[1];
  12. $password = $r[0];
  13. } else {
  14. return false;
  15. }
  16. $query = "SELECT * FROM users WHERE password = '$password' AND user='$user'";
  17. $sql = mysql_query($query);
  18. $row = mysql_fetch_row($sql);
  19. if(!mysql_num_rows($sql)) {
  20. echo 'Niepoprawne Login lub Hasło';
  21. return false;
  22. }else{
  23. $err = 'Zalogowany';
  24. setcookie("login", "$password::$user", time()+24*360);
  25. $_SESSION['user_login'] = $user;
  26. $_SESSION['user_pass'] = $password;
  27. return true;
  28. }
  29. }
  30.  
  31.  
  32.  
  33. if(logins()){
  34. echo "<a href='?logout=yes'>wyloguj</a>";
  35. } else {
  36. echo '<form method="POST" action="">
  37. <div>Podaj hasło</div>
  38. <div><input type="text" name="user" /></div>
  39. <div><input type="password" name="password" /></div>
  40. <div><input type="checkbox" name="zapamietaj" /> - Zapamiętaj hasło</div>
  41. <div><input type="submit" name="login" value="Zaloguj"/></div>
  42. </form>';
  43. }
  44.  
  45. if(isset($_GET['logout']) && $_GET['logout']=="yes") {
  46. setcookie("login", '', time()-36);
  47. header('location: '.$_SERVER['PHP_SELF'].'');
  48. }
  49. ?>


Pytanie, czy warto wszystkie dane zapisać w sesji czy podtrzymywać logowania a dane wyciągać przez mysql_fetch_row a następnie je wyświetlać. Ogólnie skrypt to błazenada, ale na szybkiego jest. Nie wiem co tu jeszcze zmienić, oczywiście filtrowanie danych plus dodatkowe zabezpieczenia.


--------------------

Go to the top of the page
+Quote Post
.radex
post
Post #2





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


addslashes? użyj mysql_real_escape_string

I popracuj nad tabami, bo kompletnie nie można się rozczytać (tym bardziej, że klamerki trzymasz na końcu linijki, a nie jako osobna).

No a logowanie przecież musisz jakoś podtrzymać. Sesje się kłaniają. Chyba, że nie zrozumiałem pytania.


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 20:02