Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/mysql] logowanie a sesja i połączenie z mysql
pijanyadmin
post 9.01.2008, 20:13:39
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 24.10.2007

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


Baza

  1. CREATE TABLE IF NOT EXISTS `userdata` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `login` varchar(15) NOT NULL,
  4. `haslo` varchar(32) NOT NULL,
  5. `email` varchar(40) NOT NULL,
  6. `data` varchar(19) NOT NULL,
  7. `adresip` varchar(25) NOT NULL,
  8. KEY `id` (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;


panel logowania
  1. <?php
  2. require_once("functions.php");
  3. require_once("connect.php");
  4. if(logon()) {
  5. movetosite('panel.php');
  6. exit();
  7. }
  8. ?>
  9.  
  10. <form action="panel.php" method="POST">
  11. <fieldset>
  12. <div>
  13. <label for="login">Login:</label>
  14. <input id="login" type="text" class="text" name="user" maxlength="15" />
  15. </div>
  16. <br /><br />
  17. <div>
  18. <label for="haslo">Hasło:</label>
  19. <input id="haslo" type="password" class="text" name="pass" maxlength="15" />
  20. </div>
  21. <br /><br />
  22. <div>
  23. <input id="fSubmit" class="submit" type="submit" name="sprawdz" value='Zaloguj się' />
  24. </div>
  25. </fieldset>
  26. </form>


sesja

  1. <?php
  2. require_once("connect.php");
  3.  
  4.  
  5.  
  6. function logon() {
  7. if(isset($_POST['user']) && isset($_POST['pass'])) {
  8. $_POST['user'] = md5($_POST['user']);
  9. $_POST['pass'] = md5($_POST['pass']);
  10.  
  11. $q = mysql_query("SELECT * FROM userdata WHERE haslo = '".$_POST['user']."' AND haslo = '".$_POST['pass']."' LIMIT 1");
  12. if(!mysql_num_rows($q)) {
  13. echo 'Niepoprawne Login lub Hasło'; exit;
  14. return 0;
  15. }
  16.  
  17. $_SESSION['logon'] = 1;
  18. $_SESSION['login'] = $_POST['user'];
  19. $_SESSION['password'] = $_POST['pass'];
  20. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  21. $_SESSION['idu'] = md5(rand() + rand());
  22.  
  23.  
  24. return 1;
  25. }
  26.  
  27.  
  28.  
  29. if(!isset($_SESSION['logon']) || !isset($_SESSION['login']) || !isset($_SESSION['password']) || !isset($_SESSION['ip']) || !isset($_SESSION['idu'])) {
  30. // echo "3";
  31. return 0;
  32. }
  33. $login = $_SESSION['login'];
  34. $password = $_SESSION['password'];
  35. $idu = $_SESSION['idu'];
  36. $ip = $_SESSION['ip'];
  37.  
  38. if($_SERVER['REMOTE_ADDR'] != $ip) {
  39. // echo "4";
  40. return 0;
  41. }
  42.  
  43.  
  44. if($_GET['idu'] != $_SESSION['idu']) {
  45. return 0;
  46. } else {
  47. return 1;
  48. }
  49.  
  50. }
  51.  
  52.  
  53.  
  54. function movetosite($strona) {
  55. echo "
  56. <script LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\"
  57. window.location.replace(\"$strona\"); 
  58. </SCRIPT>";
  59. }
  60.  
  61. function resetsession() {
  62. $_SESSION['login'] = '';
  63. $_SESSION['password'] = '';
  64. $_SESSION['logon'] = '';
  65.  unset($_SESSION['login']);
  66.  unset($_SESSION['password']);
  67.  unset($_SESSION['logon']);
  68.  unset($_SESSION);
  69. }
  70.  
  71. ?>


problem polega w zalogowaniu sie i otrzymaniu sesji:
  1. <?php
  2. $q = mysql_query("SELECT * FROM userdata WHERE haslo = '".$_POST['user']."' AND haslo = '".$_POST['pass']."' LIMIT 1");
  3. if(!mysql_num_rows($q)) {
  4. echo 'Niepoprawne Login lub Hasło'; exit;
  5. return 0;
  6. }
  7. ?>


tak mogte się zalogować wez problemu pod warunkiem że login jest taki sam jak haslo, niestety jak zmienie
  1. <?php
  2. haslo = '".$_POST['user']."'
  3. ?>

na
  1. <?php
  2. login = '".$_POST['user']."'
  3. ?>


to w ogóle nie moge się zalogować... co jest nie tak [pomijajnac fakt ze troche to chaotyczny kod]

Ten post edytował pijanyadmin 9.01.2008, 20:19:40
Go to the top of the page
+Quote Post

Posty w temacie
- pijanyadmin   [php/mysql] logowanie a sesja i połączenie z mysql   9.01.2008, 20:13:39
- - xbigos   nie znalazlem nigdzie session_start();   9.01.2008, 20:15:15
- - pijanyadmin   już poprawiłem   9.01.2008, 20:19:55
- - xbigos   session_start() dajesz wszędzie gdzie u...   9.01.2008, 20:21:07
- - pijanyadmin   ok, tylko sęk w tym iż nadal jest problem z logowa...   9.01.2008, 20:27:39
- - xbigos   nazwe użytkownika też szyfrujesz przez m...   9.01.2008, 20:33:15
- - pijanyadmin   a racja, zmieniłem juz to md5 i jest dobrze tabel...   9.01.2008, 21:13:39
- - xbigos   Czyli działa czy nie bo nie zrozumiałem:)   9.01.2008, 21:30:37
- - pijanyadmin   nie działa, jest zły odczyt z bazy, z tym jest pro...   9.01.2008, 22:47:13
- - dadexix   ale po co używasz tak w ogóle mysql_results? ...   10.01.2008, 02:13:40
- - pijanyadmin   poprawiłem i teraz mam coś takiego: Kod$hasl...   10.01.2008, 12:38:15
- - dadexix   no tak jest dobrze.... Przedtem sprawdzałeś hasło...   10.01.2008, 13:50:27
- - pijanyadmin   pojawił się jeszcze jeden problem edycj...   10.01.2008, 15:26:22
- - xbigos   @pijanyadmin. Ja czegoś tu nie rozumiem. [PHP...   10.01.2008, 16:11:30
- - dadexix   [PHP] pobierz, plaintext <? session_start...   10.01.2008, 16:26:47
- - pijanyadmin   po zmianie: [PHP] pobierz, plaintext <?phpsess...   10.01.2008, 19:31:15
- - Lion_87   to usuń : Kod$idzapytania2 = mysql_fetch...   10.01.2008, 19:46:39
- - pijanyadmin   wpadłem na to, ale wtedy i tak nic się nie zmienia...   10.01.2008, 19:50:07
- - Lion_87   to jeszcze zmien to Kod$email = mysql_real_e...   10.01.2008, 19:54:34
- - pijanyadmin   [PHP] pobierz, plaintext <?phpsession_start...   10.01.2008, 19:59:47
- - xbigos   zrób var_dump($zalogowany); i var_dump(...   10.01.2008, 20:03:57
- - pijanyadmin   KodWarning: mysql_fetch_array(): s...   10.01.2008, 20:07:16
- - Lion_87   a czy wyskakuje któryś z warunków "blad...   10.01.2008, 20:30:39
- - pijanyadmin   tak, podawałem wcześniej, wyskakuje "błąd...   10.01.2008, 21:13:17
- - xbigos   może po prostu żaden rekord w Twojej bazie nie spe...   10.01.2008, 21:48:09
- - pijanyadmin   zabardzo nie rozumiem jak może nie spełniać warunk...   10.01.2008, 21:51:59
- - xbigos   Daj zrzut z bazy danych ale wczesniej sprawdz czy ...   10.01.2008, 21:56:25
- - pijanyadmin   KodINSERT INTO `userdata` (`id...   10.01.2008, 22:05:53
- - xbigos   [PHP] pobierz, plaintext <?phpsession_start...   10.01.2008, 22:08:47
- - pijanyadmin   i nic... ehhh   10.01.2008, 22:20:20
- - xbigos   Podaj cały plik który Ci aktualizuje rekord i...   10.01.2008, 22:21:56
- - pijanyadmin   Ty tracisz cierpliwość? a co ja mam powiedzieć jak...   10.01.2008, 22:26:22
- - xbigos   [PHP] pobierz, plaintext <?phpsession_start...   10.01.2008, 22:35:02
- - pijanyadmin   i... nadal nic.. teraz to się nawet nie wczytuje ...   10.01.2008, 22:49:17
- - xbigos   Wiesz co dziasiaj już nie mam cierpliwo...   10.01.2008, 23:08:37
- - Lion_87   no może teraz i wpisz tak jak napisałem jeśli dz...   10.01.2008, 23:15:04
- - pijanyadmin   u mnie to wygląda tak: formularz: [PHP] pobierz,...   10.01.2008, 23:20:00
- - xbigos   HAHAHAHA A mi zmienia:) weź wypier*** narazie to b...   10.01.2008, 23:25:10
- - pijanyadmin   zaskocze Cie... zrobiłem już nawet osobne pliki, b...   10.01.2008, 23:34:04
- - xbigos   To ja Ci już nie pomogę. Mi zmienia. I to jest dzi...   10.01.2008, 23:35:58
- - pijanyadmin   a może jest coś z sesją nie tak: [PHP] pobierz, p...   10.01.2008, 23:39:29
- - xbigos   po co przechowujesz w sesji hasło? [PHP] pobierz, ...   11.01.2008, 10:26:31
- - pijanyadmin   wybaczcie za odgrzewanie starego kotleta ale może ...   14.01.2008, 14:04:02


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:11