Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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


--------------------
nie wszystko jeszcze wiem, uczę się, ale dzięki za wszelką pomoc i wyrozumiałość (Win2k, Apache, MySQL 3.23.39)
Go to the top of the page
+Quote Post
kicaj
post
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


Ad:
1). Musisz w pliku glownym i na innych (na ktorych bedziesz uzywal sesji) dac na poczatku session_start" title="Zobacz w manualu PHP" target="_manual()
2). Twoj wybor
3). Jesli pomoglem...
4). Tez tongue.gif


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
miszqa
post
Post #3





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

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


a mozesz pomoc mi to poustawiac?
bo nie wiem czy bedzie to dobrze dzialac a chcialbym polaczyc to w jednosc

poza tym plik sprawdzajacy jako jednosc pokazuje blad

"The Page cannot be refreshed without resending the information.
Click retry to sent the information again, or Click to return the page that you were trying to view."

i nie wiem co z tym zrobic

Ten post edytował miszqa 5.07.2004, 00:19:37


--------------------
nie wszystko jeszcze wiem, uczę się, ale dzięki za wszelką pomoc i wyrozumiałość (Win2k, Apache, MySQL 3.23.39)
Go to the top of the page
+Quote Post
sf
post
Post #4





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 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 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. ?>


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
miszqa
post
Post #5





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

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


widze ze juz cos sie ruszylo ale nadal nie jest to tak jak chcialem aby to wszystko polaczyc w jednosc


--------------------
nie wszystko jeszcze wiem, uczę się, ale dzięki za wszelką pomoc i wyrozumiałość (Win2k, Apache, MySQL 3.23.39)
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: 22.08.2025 - 01:52