Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z logowaniem [explorer]
Forum PHP.pl > Forum > Przedszkole
modern
Witam... mam dosyć głupi problem...
logowanie działa na firefoxie... a na explorerze nie...
z kolei na explorerze nie ma krzaków, a na firefoxie są.... owned....

nie mam pojęcia gdzie moze byc błąd...


  1. <?
  2.  
  3. if ( ! empty ( $_POST['name'] ) && ! empty ( $_POST['pass'] ) ) // jesli wyslano
  4. {
  5.  
  6.  $user = $_POST['name'];
  7.  $pass = $_POST['pass'];
  8.  include("config.php");
  9.  $zapytanie = "SELECT * FROM users WHERE login = '$user'";
  10.  $wykonaj = mysql_query("$zapytanie");
  11.  $wiersz = mysql_fetch_array($wykonaj);
  12.  
  13.  $db_user = $wiersz['login'];
  14.  $db_pass = $wiersz['passwd'];
  15.  $db_done = $wiersz['done'];
  16.  
  17.  
  18. if ( $db_user == $_POST['name'] ) // jesli zgadza sie imie z tym w bazie
  19. {
  20.  
  21. if ( ($db_pass == $_POST['pass']) && ($db_done == 'yes')) // jesli zgadza sie haslo z tym w bazie dla danego usera
  22.  
  23. {
  24.  
  25. $_SESSION['Login'] = $_POST['name']; // Logujemy
  26. $zaloguj_login = $_COOKIE['login1_c'];
  27. $zaloguj_haslo = $_COOKIE['haslo1_c'];
  28. setcookie ("login1_c", $name,time()+3600);
  29. setcookie ("haslo1_c", $pass,time()+3600);
  30. header("Location: index.php");
  31. }
  32.  
  33.  
  34.  
  35.  
  36. }
  37.  
  38.  
  39.  
  40. }
  41.  
  42.  
  43. if ( ! $_COOKIE['login1_c'] ) // jesli nie jestesmy zalogowani to...
  44. {
  45.  
  46. echo '<form method="post" action="index.php" style="margin: 0px;">
  47.  <table cellspacing="0" cellpadding="3">
  48. <tr>
  49.  <td class="uni_02" style="padding-left: 10px;"><br>
  50.  Login:<br>
  51.  <input name="name" style="color: #000000; border-right: 1 solid #5A5A5A;border-bottom: 1 solid #5A5A5A;border-top: 1 solid #5A5A5A;border-left: 1 solid #5A5A5A;background-color: #F7F7F7;" type="text" size="15"><br>
  52.  Hasło:<br>
  53.  <input name="pass" style="color: #000000; border-right: 1 solid #5A5A5A;border-bottom: 1 solid #5A5A5A;border-top: 1 solid #5A5A5A;border-left: 1 solid #5A5A5A;background-color: #F7F7F7;" type="password" size="15"><br><br>
  54.  <input type="image" src="loguj.jpg" style="border: 0"></td>
  55.  <td class="uni_03">[<a href="rejestracja.php">załóż konto</a>]<br>[<a href="">zgubiłem hasło</a>]</td>
  56. </tr>
  57.  </table>
  58. </form>';
  59.  
  60. }
  61. else{ // w przeciwnym wypadku...
  62.  
  63.  include("config.php");
  64.  
  65.  $post_user = $_COOKIE['login1_c'];
  66.  
  67.  $zapytanie = "SELECT * FROM users WHERE login = '$post_user'";
  68.  $wykonaj = mysql_query("$zapytanie");
  69.  $wiersz = mysql_fetch_array($wykonaj);
  70.  
  71.  $db_user = $wiersz['login'];
  72.  $db_pass = $wiersz['passwd'];
  73.  $poziom = $wiersz['poziom'];
  74.  $user_id = $wiersz['id'];
  75.  $user_mail = $wiersz['mail'];
  76.  $avatar = $wiersz['avatar'];
  77.  $user_login = $wiersz['logowan'];
  78.  
  79.  
  80. echo'<table width="215" cellspacing="0" cellpadding="3">
  81. <tr>
  82.  <td width="215" class="uni_02" style="padding-left: 10px;">';
  83. if($poziom == '0')
  84.  {
  85. if($avatar <> '')
  86.  {
  87. echo'<img src="'.$avatar.'" width="100" height="100" align="right" style="border: solid 1 black;">';
  88.  }
  89. echo'<a href="profil.php?mode=pokaz&id='.$user_id.'"><b>'.$_COOKIE['login1_c'].'</b></a> ';
  90. echo'<font style="font-size: 9px;">[<a href="?logout=yes">wyloguj</a>]</font><br>';
  91. echo'Użytkownik<br><font style="font-size: 3px;">&nbsp;</font><br>';
  92. echo'&raquo; <a href="profil.php?mode=opcje&id='.$user_id.'">ustawienia</a><br>';
  93.  }
  94. if($poziom == '1')
  95.  {
  96. if($avatar <> '')
  97.  {
  98. echo'<img src="'.$avatar.'" width="100" height="100" align="right" style="border: solid 1 black;">';
  99.  }
  100. echo'<a href="profil.php?mode=pokaz&id='.$user_id.'"><b>'.$_COOKIE['login1_c'].'</b></a> ';
  101. echo'<font style="font-size: 9px;">[<a href="?logout=yes">wyloguj</a>]</font><br>';
  102. echo'Newsman<br><font style="font-size: 3px;">&nbsp;</font><br>';
  103. echo'&raquo; <a href="admin_news.php">newsy</a><br>';
  104. echo'&raquo; <a href="admin_articles.php">artykuly</a><br>';
  105. echo'&raquo; <a href="profil.php?mode=opcje&id='.$user_id.'">ustawienia</a><br>';
  106.  }
  107. if($poziom == '2')
  108.  {
  109. if($avatar <> '')
  110.  {
  111. echo'<img src="'.$avatar.'" width="100" height="100" align="right" style="border: solid 1 black;">';
  112.  }
  113. echo'<a href="profil.php?mode=pokaz&id='.$user_id.'"><b>'.$_COOKIE['login1_c'].'</b></a> ';
  114. echo'<font style="font-size: 9px;">[<a href="?logout=yes">wyloguj</a>]</font><br>';
  115. echo'Admin<br><font style="font-size: 3px;">&nbsp;</font><br>';
  116. echo'&raquo; <a href="admin_news.php">newsy</a><br>';
  117. echo'&raquo; <a href="admin_articles.php">artykuly</a><br>';
  118. echo'&raquo; <a href="admin_match.php">mecze</a><br>';
  119. echo'&raquo; <a href="#">dema</a><br>';
  120. echo'&raquo; <a href="profil.php?mode=opcje&id='.$user_id.'">ustawienia</a><br>';
  121.  }
  122. if($poziom == '3')
  123.  {
  124. if($avatar <> '')
  125.  {
  126. echo'<img src="'.$avatar.'" width="100" height="100" align="right" style="border: solid 1 black;">';
  127.  }
  128. echo'<a href="profil.php?mode=pokaz&id='.$user_id.'"><b>'.$_COOKIE['login1_c'].'</b></a> ';
  129. echo'<font style="font-size: 9px;">[<a href="?logout=yes">wyloguj</a>]</font><br>';
  130. echo'Head Admin<br><font style="font-size: 3px;">&nbsp;</font><br>';
  131. echo'&raquo; <a href="admin_news.php">newsy</a><br>';
  132. echo'&raquo; <a href="admin_articles.php">artykuly</a><br>';
  133. echo'&raquo; <a href="admin_match.php">mecze</a><br>';
  134. echo'&raquo; <a href="#">admini</a><br>';
  135. echo'&raquo; <a href="#">dema</a><br>';
  136. echo'&raquo; <a href="profil.php?mode=opcje&id='.$user_id.'">ustawienia</a><br>';
  137.  }
  138. echo'</td>
  139. </tr>
  140.  </table>';
  141.  
  142.  
  143.  
  144. }
  145.  
  146. if ( $_GET['logout'] == 'yes' ) // jesli sie wylogujemy to...
  147. {
  148.  
  149. setcookie ("login1_c", '',time()-3600);
  150. setcookie ("haslo1_c", '',time()-3600);
  151. header('Location: index.php');
  152.  
  153. }
  154.  
  155. ?>
latet
Jestem kompletnie zielony jeśli chodzi o logowanie (a także sesje), więc raczej nic Ci nie pomogę (choć rzucił mi się w oczy brak session_start()winksmiley.jpg.

Natomiast chciałbym przy okazji Twojego posta prośić o taką ogólną poradę... Na mojej stronie nigdy nie było logowania, ale teraz będzie musiało być. Chcę to zrobić tak prosto, jak się da. Patrząc na Twój kod zastanawiam się - czy konieczne jest ustawianie tych cookies? Czy sprawdzanie "stanu zalogowania" nie może odbywać się wyłącznie w oparciu o zmienne sesji?

Jaką ew. przewagę mają cookies? Może to, że sesja ginie po zamknięciu przeglądarki, a cookies może przetrwać dłużej? (czy prawda?).

Mam złe doświadczenia z cookies. Nie raz obserwowałem coś, co można nazwać tylko w jeden sposób: dziwne, niewyjaśnione znikanie cookies.

Jaki jest sens stosowanie jednocześnie i sesji i cookies do obsługi logowania?

Pomóżcie mi to zrozumieć, abym mógł zacząć dzialać od razu we właściwym kierunku i opracować proste, skuteczne logowanie.

Dzięki,

latet
nospor
@latet do logowania wystarczy sesja. Cookies można uzyć ewentualnie dla np. opcji zapamietaj mnie, żeby nie tzreba było za każdym kolejnym razem po wylogowaniu się logować.

@modern piszesz że są krzaki. Może byś był tak łaskawy i podzielił się nimi z nami. Bo szczerze powiedziawszy nie niechce mi się i innym zapewne też analizować tej epopei o suchym pysku
modern
krzaki swoją droga... ale głownym problemem jest brak logowania pod IE sad.gif
na firefoxie chodzi jak marzenie... co do session_start...
przerabialem logowanie oparte o sesje na logowanie z cookies, i zapomnialem skasować tego $_SESSION['Login']; ale po usunięciu nie widać różnicy...

kolejna ciekawostka to fakt... że przez pierwsze kilka godzin 'życia' tego skryptu logowanie dzialalo i na IE i na Firefoxie... dopiero pod wieczór zaczęło sie wszystko pierdaczyć... samo? najwyrazniej tak bo ja nic nie ruszałem... a dostep do plików mam tylko ja...
nospor
Cytat
krzaki swoją droga... ale głownym problemem jest brak logowania pod IE
no i gadaj tu z takim. czlowiek stara sie pomoc a tu olewanko. Skoro na jednym nie dziala, a na drugim sa krzaki, to nie przyszlo ci do glowy ze moze jednak jedno z drugim ma związek? Więc podaj łaskawie te krzaki
modern
nospor, no chodzi o to ze nie ma polskich literek ^^
chociaz nie.... teraz zrobiłem test... napisalem jakiegos newsa przez firefoxa po zalogowaniu i w tym newsie nie ma krzaczków, są polskie znaczki ale z kolei jak teraz lookne na IE to wlasnie w tym newsie są:
zamiast:
Kod
ś - &para;
ą - &plusmn;


wg. mnie to jakas wojna przeglądarek sad.gif jedna chce sie logowac, druga nie... na jednej widac polskie znaki tylko newsów pisanych z tej przegladarki, i na odwrót sad.gif sad.gif sad.gif nie wiem co robić

a na Firefoxie:

Kod
ś - �
ą - š


trzeba bylo od razu mowic ze o takie krzaki chodzi, to bym się nie czepiał smile.gif
---
nospor
Pigula
masz problem z kodowaniem liter. skrypt masz pewnie w iso a dzialas na serwerze na windowsie i jak zapisuje do pliku to masz tam kodowanie win1250 musisz przekonwertowac to i bedzie luz.
modern
ok, z polskimi znakami juz sobie poradziłem...
ale teraz to głupie logowanie sad.gif sad.gif

Byłbym ogromnie wdzięczny gdyby ktoś wypatrzył jakiś błąd w kodzie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.