Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

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





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.07.2007

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


Witam mam taki mały problem z moim scriptem niby nie pokazuje zadnego błedu ale nie moge sie zalogować lub wylogowac wogole nic sie nie dzieje :/ register_globals mam "On"

Link do strony www.kasztan.cal.pl/nsquad

Testowe konto:
login: Fido
pass: 1234


  1. <?php
  2.  
  3. include("config.inc");  
  4.  
  5.  
  6.  
  7.  
  8. if($action=="login" && empty($_SESSION['login']) && empty($_SESSION['pass'])){
  9. if (!$_POST['login']) {
  10. echo "Wypełnij pole z loginem! (<a href=index.php>Odśwież</a>)";
  11. } elseif (!$_POST['pass']) {
  12. echo "Wypełnij pole z hasłem! (<a href=index.php>Odśwież</a>)";
  13. } else {
  14. $_POST[login]=addslashes($_POST[login]);
  15. $_POST[pass]=addslashes($_POST[pass]);
  16. $logres = mysql_num_rows(mysql_query("select * from user where login='$_POST[login]' and pass='$_POST[pass]'"));
  17. if ($logres <= 0) {
  18. echo "Logowanie nieudane. Sprawdź pisownie loginu oraz hasła. (<a href=index.php>Odśwież</a>)<br>";
  19. } else {
  20. $ban = mysql_fetch_array(mysql_query("select * from user order by login desc limit 1"));
  21. if ($ban[ban]==1) {
  22. print ("Twoje konto zostało zoblokowane! Cos narozrabiales ;)");
  23. print"<br><b>Powód:</b>";
  24. print ("$ban[powod]");
  25. print "<br><a href=index.php>Powrót</a>";
  26. }else{
  27. $_SESSION['login'] = $_POST['login'];
  28. $_SESSION['pass'] = $_POST['pass']; 
  29.  
  30. echo"Zalogowany (<a href=index.php>Odśwież</a>)";
  31.  
  32. }
  33. }
  34. }
  35. }
  36. elseif($_SESSION['login'] && $_SESSION['pass']){
  37. ?>
  38. Witaj <? echo"$_SESSION[login]"; ?> 
  39.  
  40.  
  41.  
  42. <form action="index.php?action=login" method="post"><input type="submit" value="Wyloguj">
  43.  
  44. <?
  45. }elseif($_GET['action']=="login" && !empty($_SESSION['login']) && !empty($_SESSION['pass'])){
  46.  
  47. unset($_SESSION['login']);  
  48. unset($_SESSION['pass']);  
  49.  
  50.  
  51. }else{
  52.  
  53.  
  54. ?>
  55.  
  56.  
  57. <form action="index.php?action=login" method="POST">
  58. login <input type="text" name="login" /> <br/>
  59. pass <input type="password" name="pass" /> 
  60. <input type="submit" value="zaloguj" /></form>
  61.  
  62. <?php
  63. }
  64.  
  65. ?>



Z góry dzieki za pomoc :-) i Wesołych Świąt

Ten post edytował KasztanPL 22.03.2008, 23:57:06
Go to the top of the page
+Quote Post
hondek
post
Post #2





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


- napewno tablic uzywamy w ten sposob : $tablica['index'], a nie $tablica[index], czyli $_POST[login] jest niepoprawnie.
- masz na poczatku skryptu session_start(); ?
- nie zamykasz znacznika <form> i <br>
bardzo pomieszane masz w tym kodzie winksmiley.jpg


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post
KasztanPL
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.07.2007

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


session_start(); mam w innym pliku
<from> zamknąłem
tablice poprawilem
troche jest a nawet bardzo namieszane przyznam


niestety problem dalej jest z wylogowaniem teraz
Go to the top of the page
+Quote Post
hondek
post
Post #4





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


a czy przepisujesz $_POST['action'] do $action? : $action = $_POST['action']? przed sprawdzeniem go w warunku?

37 linijka zmien na:
  1. <?php
  2. elseif($_SESSION['login'] && $_SESSION['pass'] && $action != 'wyloguj' )
  3. ?>


Ten post edytował hondek 22.03.2008, 16:27:09


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post
KasztanPL
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.07.2007

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


zmieniłem niestety to nie po skutkowało
Go to the top of the page
+Quote Post
marcio
post
Post #6





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Jak narazie kodu nie moge przeanalizowac ale zamiast uzywac sesje uzyj cookie bo przy 50 user'ach padnie server tongue.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
KasztanPL
post
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.07.2007

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


Heh mi właśnie zależy na sesjach biggrin.gif
Go to the top of the page
+Quote Post
marcio
post
Post #8





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


a Jaka to roznica??TEz chcialem cms'a na sesjach tylko potem musialem wszystko na nowo pisac tongue.gif

P.S widze ze logowanie dziala a wylogowywanie niee??

Ten post edytował marcio 22.03.2008, 16:39:02


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
l0ud
post
Post #9





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


yy? A cóż takiego złego jest w stosowaniu sesji?


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
KasztanPL
post
Post #10





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.07.2007

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


Tak wylogowanie nie działą
Go to the top of the page
+Quote Post
marcio
post
Post #11





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


@loud zlego jest to ze moze zawalic server

@autor linia 47 zamiast
  1. <?php
  2. }elseif($action="wyloguj" && !empty($_SESSION['login']) && !empty($_SESSION['pass'])){
  3. ?>

Daj
  1. <?php
  2. }elseif($_GET['action']=="wyloguj" && !empty($_SESSION['login']) && !empty($_SESSION['pass'])){
  3. ?>

Nie masz przypisywac a sprawdzac reszty nie spradzalem


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
l0ud
post
Post #12





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Cytat
@loud zlego jest to ze moze zawalic server


Owszem, ale przy kilku tysiącach userów.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
KasztanPL
post
Post #13





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.07.2007

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


Juz raz tak miałem i też nie działa sad.gif
Go to the top of the page
+Quote Post
marcio
post
Post #14





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Taka mala idea jak to powinno wygladac pisalem w 5min wiec beda error'y etc nawet logiczne potem to tylko dostosuj do twoich potrzeb etc tongue.gif
  1. <?php
  2.  
  3. include("config.inc");  
  4.  
  5. echo('<form action="post" action="'.$_SERVER['PHP_SELF'].'">
  6. <input type="text" name="login" value="login"><Br>
  7. <input type="password" name="haslo" value="haslo"><Br>
  8. <input type="submit" name="loguj" value="loguj"></form>');
  9.  
  10. if($db = mysql_connect('host', 'login', 'haslo')) {
  11.  
  12. if(!empty($_POST['login']) && !empty($_POST['haslo']) && isset($_POST['loguj'])) {
  13.  
  14.  
  15. $login = addslashes($_POST['login']);
  16. $haslo = addslashes($_POST['haslo']);
  17. $logres = ('select * from user where login="'.$login.'" and pass="'.$haslo.'"');
  18. $wynik = mysql_query($lorges, $db) or die(mysql_error());
  19. $tab = mysql_fetch_assoc($wynik);
  20. $zap = ('select * from user');
  21. $wynik1 = mysql_query($zap, $db);
  22. $dane = mysql_fetch_assoc($wynik1);
  23.  
  24. if($dane['ban'] != $login) {
  25.  
  26.  if($tab['login'] == $login && $tab['pass'] == $haslo) {
  27.  
  28. $_SESSION['nick'] = $login;
  29. $_SESSION['password'] = $haslo;
  30. echo('Zalogowano (<a href=index.php>Odswiez</a>)');
  31. }
  32.  
  33. else { 
  34. echo('Haslo i/lub login jest bledny');
  35. }
  36. }
  37. else {
  38. echo('Zostales zbanowany');
  39. }
  40. }
  41. else {
  42. echo('prosze wypelnic formularz');
  43. }
  44. }
  45. else {
  46. echo('Nie mozna polaczyc z baza');
  47. }
  48.  
  49.  
  50. //teraz wylogowywanie
  51.  
  52. //na stronie sprawdzasz czy ma sesje
  53.  
  54. if($_SESSION['nick'] && $_SESSION['password']) {
  55.  
  56. echo('<form action="post" action="'.$_SERVER['PHP_SELF'].'">
  57. <input type="submit" name="wyloguj" value="wyloguj"></form>'); // jak nie mozesz zrobic link do osobnego pliku ja tak zawsze robie nie wiem czemu
     tak napisalem
  58.  
  59. if(isset($_POST['wyloguj'])) {
  60.  
  61. unset($_SESSION['nick']);
  62. unset($_SESSION['password']);
  63. echo('Wylogowano (<a href=index.php>strona glowna</a>)');
  64.  
  65. }
  66. }
  67. ?>


Ten post edytował marcio 22.03.2008, 17:18:53


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
KasztanPL
post
Post #15





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.07.2007

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


Dzięki wielkie napewno skorzystam =)
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: 21.08.2025 - 07:41