Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sesje i logowanie
miszqa
post
Post #1





Grupa: Zarejestrowani
Postów: 168
Pomógł: 0
Dołączył: 15.01.2004
Skąd: Suwalki/Poznan

Ostrzeżenie: (10%)
X----


mam pliki takie

  1. <?php
  2.  
  3. // 01.php
  4. $_SESSION['zalogowany'] = false;
  5. ?>
  6. <a href=\"dwa.php\">dwa</a>


  1. <?php
  2.  
  3. // dwa.php
  4. if( $_SESSION['zalogowany'] )
  5. {
  6. echo 'zalogowany';
  7. }
  8. else
  9. {
  10. echo 'niezalogowany';
  11. }
  12.  
  13. ?>


i
plik glowny
  1. <head>...
  2. <body>...


  1. <?php
  2.  
  3. function aaa() { ... }
  4. ...
  5. if ($action==&#092;"...\") { ... } 
  6. else if ($action==&#092;"...\") { ...}
  7. }
  8.  
  9. ?>


  1. </....>


i jeszcze w oddzielnym pliku mam logowanie oparte na bazie danych

  1. include ('config.php');
  2.  
  3. function print_form() {
  4. ?>
  5. <form action=\"\" method=\"post\">
  6. <table align=\"center\">
  7. <tr><td><h3>Prosz&ecirc; sie zalogowa&aelig;</h3></td></tr>
  8. <tr><td>Login:&nbsp;<input style=\"color:#ff0000; font-style: bold;\" type=\"text\" name=\"login\"></font><br></td></tr>
  9. <tr><td>Has&sup3;o:&nbsp;<input style=\"color:#ff0000; font-style: bold;\" type=\"password\" name=\"pass\"><br></td></tr>
  10. <tr><td><input type=\"submit\" name=\"submit\" value=\"submit\">
  11. <input type=\"reset\" value=\"reset\"></td></tr>
  12. </tr>
  13. </table>
  14. </form>
  15. <?
  16. }
  17. if(isset($submit)):
  18. if(!$db = mysql_connect($dbhost, &#092;"\")):
  19. print &#092;"<h1>Nie mozna polaczyc sie z baza danych</h1>n\";
  20. else:
  21. mysql_select_db($dbname, $db);
  22. endif;
  23. $sql = &#092;"select * from users where login='$login'\";
  24. $result = mysql_query($sql);
  25. $row_count = mysql_num_rows($result);
  26. if($row_count == 0):
  27. ?>
  28. <center><h3>Niewlasciwa nazwa uzytkownika!Spr&oacute;boj jeszcze raz</h3>
  29. </center>
  30. <?
  31. print_form();
  32. else:
  33. $row = mysql_fetch_array($result);
  34. if($pass != $row[&#092;"pass\"]):
  35. ?>
  36. <center><h3>Nieprawidlowe haslo! Sproboj jeszcze raz</h3>
  37. </center>
  38. <?
  39. print_form(); 
  40. else:
  41. echo &#092;"<HEAD><META HTTP-EQUIV=\"refresh\\" CONTENT=\"1; URL=\"aaa_ok1.php\"></HEAD>\";
  42. echo &#092;"<BODY><center><h2>Haslo zaakceptowane</h2></center>\";
  43. // }
  44. endif;
  45. endif;
  46. else:
  47. print_form();
  48. endif;


1. Jak polaczyc logowanie z plikiem glownym i oprzec to na sesjach aby za kazdym razem wykonujac dana funkcje z pliku glownego nie trzeba bylo sie logowac.

2. Czy warto oddzielac plik do logowania od rzeczywistego pliku glownego ?

3. Bede bardzo wdzieczny za pomoc za ktora dziekuje

4. Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


2. najpierw zrob swoja wersje pierwsza, a potem popatrz jak to zrobili inni... np. phorum.org (katalog admin, tam index.php i login.php), potem znajdz jeszcze klika innych przykladow i stworz swoj, pare razy poprawisz i bedzie ok (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

pozatym jak tak patrze na Twoje zrodlo to jest ono bardzo nieczytelne

np. moj login.php narazie wyglada tak (uprzedzam, ze robie tam aktualnie ciagle zmiany i nawet nie wiem czy to teraz dziala (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ale ogolnie wydaje mi sie, ze jest przejrzyscie ) :

  1. <?php
  2. /*
  3. dane: stormfly | 10 IV 2004 | login.php
  4. opis: logowanie do panelu administracyjnego, korzysta z mysql
  5. $error - w przypadku błędnego l/p można wykorzystać komunikat
  6. $session_time - ustawiamy czas trwania sesji, po przekroczeniu automatyczne wylogowanie
  7. */
  8.  
  9. if(!defined(&#092;"NEWS_ADMIN\")) return;
  10.  
  11. include 'mysql.php';
  12.  
  13. if(isset($_POST['login']) && isset($_POST['password']))
  14. {
  15. $db = new DB;
  16. $db->connect();
  17. $sql = &#092;"SELECT * FROM uzytkownicy WHERE user='${_POST['login']}'\";
  18. $result = $db->query($sql);
  19. $row = mysql_fetch_array($result,MYSQL_ASSOC);
  20. if($row['password']==md5($_POST['password']))
  21. {
  22. $session_time = 60; // czas trwania sesji w minutach
  23. $_SESSION['user'] = $_POST['login'];
  24. $_SESSION['expire'] = time() + 60 * $session_time;
  25.  
  26. $db->close();
  27. header('Location: index.php'); // idz do panelu
  28. }
  29. else
  30. {
  31. $error=&#092;"Błędny login lub hasło. Spróbuj ponownie.<br /><br />\";
  32. }
  33. $db->close();
  34. }
  35.  
  36. include &#092;"header.php\";
  37. ?>
  38.  
  39.  
  40. <div class=main>Logowanie<br><br></div>
  41.  
  42. <?php if(isset($error)) { echo &#092;"<div class=\"error\\">$error</div>\"; } ?>
  43.  
  44. <div>
  45. <form action=\"<?php echo $PHP_SELF; ?>\" method=\"post\">
  46.  <table width=\"100%\">
  47. <tr>
  48.  <td width=\"20%\" align=\"right\">Użytkownik:</td>
  49.  <td width=\"70%\"><input type=\"text\" name=\"login\"></td>
  50. </tr>
  51. <tr>
  52.  <td align=\"right\">Hasło:</td>
  53.  <td><input type=\"password\" name=\"password\"></td>
  54. </tr>
  55. <tr>
  56.  <td></td>
  57.  <td><input type=\"submit\" value=\"Zaloguj\"></td>
  58. </tr>
  59.  </table>
  60. </form>
  61. </div>
  62.  
  63. <?php
  64. include &#092;"footer.php\";
  65. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.12.2025 - 04:23