Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]hm...Jak chce sie zarejestrowac/wyslac byle co , to formularz/skrypt z logowania zaczyna dzialac?
Forum PHP.pl > Forum > Przedszkole
gigzorr
Witam.
Pisze sobie mini 'cmsa' jesli tak mozna powiedziec , takie najprostsze opcje narazie... , i napotkałem sie na dziwnym problem , nie chcialo mi sie go naprawiac , ale teraz jest uciazliwy.
Dam ssa bo trudno to wytlumaczyc:




Myslalem , ze jest konflikt miedzy zmiennymi , ale sprawdzalem i tak nie jest.Wrzuce skrypt logowania , na wszelki wypadek , ale napewno jest dobry.
  1. <?php session_start();
  2.  
  3.  
  4. if(is_numeric($_SESSION['UserId']))
  5. {
  6. if($_SESSION['UserStatus'] == 1)
  7. {
  8. $sBufor .= "<div style='text-decoration:none;font-family:Georgia;color:red;'>Witaj administratorze";
  9. $sBufor .= ''.$_SESSION['zalogowany_user_login'].' zostałeś/aś pomyślnie zalogowany/a.<br/>';
  10. $sBufor .= '<br/>';
  11. $sBufor .= '<a href="index.php?id=dodajnewsa">Dodaj Newsa</a>';
  12. $sBufor .= '<br/>';
  13. $sBufor .= '<a href="index.php?id=edycja">Edytuj Newsa</a>';
  14. $sBufor .= '<br/>';
  15. $sBufor .= '<a href="index.php?id=usun">Usun Newsa</a>';
  16. $sBufor .= '<br/>';
  17. $sBufor .= '<a href="index.php?id=zmianapw">Zmien Haslo</a>';
  18. $sBufor .= '<br/>';
  19. $sBufor .= '<a href="index.php?id=zmiana">Zmien Nazwe Strony</a>';
  20. $sBufor .= '<br/>';
  21. $sBufor .= '<a href="index.php?id=dodajadmina">Dodaj Admina</a>';
  22. $sBufor .= '<br/>';
  23. $sBufor .= '<a href="index.php?id=wylog">Wyloguj?</a></div>';
  24.  
  25. }
  26. elseif ($user_status == 0)
  27. {
  28. $sBufor .= "Witaj<b> ".$_SESSION['zalogowany_user_login']."</b> Zostaleś pomyślnie zalogowany.";
  29. $sBufor .= '<br/>';
  30. $sBufor .= '<div style="width:110px;text-decoration:none;">';
  31. $sBufor .= '<a href="index.php?id=zamowieniee">Złóż zamówienie!</a>';
  32. $sBufor .= '<br/>';
  33. $sBufor .= '<a href="index.php?id=zmianapw">Zmien Haslo</a>';
  34. $sBufor .= '<br/>';
  35. $sBufor .= '<a href="index.php?id=wylog">Wyloguj?</a></div>';
  36. }
  37. }
  38. elseif (!empty($_POST))
  39. {
  40. if (isset($_POST['username']))
  41. {
  42. $username = $_POST['username'];
  43. }
  44.  
  45. if (isset($_POST['password']))
  46. {
  47. $password = md5($_POST['password']);
  48. }
  49.  
  50. $db = mysql_connect("localhost","root","vertrigo") or die ("polaczenie nie moze byc zrealizowane");
  51. mysql_select_db("strona") or die ("nie ma takiej bazy danych");
  52. $query = "SELECT status FROM `rejestracja` WHERE `uzytkownik` = '".$username."' AND `haslo` = '".$password."'";
  53. $result = mysql_query($query) or die(mysql_error());
  54. $result = mysql_fetch_array($result);
  55. if(empty($result))
  56. {
  57. echo '<b>Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.</b>';
  58. echo '<br/>';
  59. echo '<a href="index.php?id=newsy">Powrót</a>';
  60. }
  61. else
  62. {
  63. $_SESSION['zalogowany_user_login'] = $username;
  64. $_SESSION['twojehaslo_to'] = $password;
  65. $_SESSION['UserId'] = $result[0]['id'];
  66. $_SESSION['UserStatus'] = $result[0]['status'];
  67. header('Location: index.php');
  68. }
  69.  
  70. }
  71. else
  72. {
  73. $sBufor = '<form action="" method="post">
  74. <div class="lewo2">Username:</div><div class="prawo2"><input type="text" name="username"></div>
  75. <div class="lewo3">Password:</div><div class="prawo3"><input type="password" name="password"></div>
  76. <div id="dol"><button class="button1"><input type="submit">Zaloguj</button></div>
  77. </form>';
  78.  
  79. }
  80. echo $sBufor;
  81. echo '<br/>';
  82. echo '<br/>';
  83.  
  84.  
  85. ?>
  86. <!-- WYSWIETLA ILOSC ZAREJESTROWANYCH UZYKTOWKOW -->
  87. <?php include("online.php"); ?>

lobopol
Cytat
elseif (!empty($_POST))


Po przesłaniu wiadomości tablica post zawiera już jakieś wartości dlatego następuje próba zalogowania, zmień sprawdzanie z zamiast !empty($_POST) na !empty($_POST['jakastam zmienna przesyłana przy logowaniu'])

np. dodaj do submita przy logowaniu name="logowanie" i sprawdzaj !empty($_POST['logowanie'])
gigzorr
Cytat(lobopol @ 27.04.2010, 17:47:06 ) *
Po przesłaniu wiadomości tablica post zawiera już jakieś wartości dlatego następuje próba zalogowania, zmień sprawdzanie z zamiast !empty($_POST) na !empty($_POST['jakastam zmienna przesyłana przy logowaniu'])

np. dodaj do submita przy logowaniu name="logowanie" i sprawdzaj !empty($_POST['logowanie'])


Great...
Na przyszlosc bede wiedzial , dzieki.
Pomogl leci!

/edit

argg , logowanie teraz nie dziala
a dokladniej to jak klikam zaloguj to sie nic nie dzieje.

Jest na to jakas rada?
lobopol
A jak kodowo on wygląda? Bo rozumiem, że jedyna zmiana w pliku odpowiedzialnym za logowanie to zmiana (!empty($_POST)) na (!empty($_POST['jakaszmienna']))
gigzorr
Cytat(lobopol @ 27.04.2010, 19:11:32 ) *
A jak kodowo on wygląda? Bo rozumiem, że jedyna zmiana w pliku odpowiedzialnym za logowanie to zmiana (!empty($_POST)) na (!empty($_POST['jakaszmienna']))

  1. <?php session_start();
  2.  
  3.  
  4. if(is_numeric($_SESSION['UserId']))
  5. {
  6. if($_SESSION['UserStatus'] == 1)
  7. {
  8. $sBufor .= "<div style='text-decoration:none;font-family:Georgia;color:red;'>Witaj administratorze";
  9. $sBufor .= ''.$_SESSION['zalogowany_user_login'].' zostałeś/aś pomyślnie zalogowany/a.<br/>';
  10. $sBufor .= '<br/>';
  11. $sBufor .= '<a href="index.php?id=dodajnewsa">Dodaj Newsa</a>';
  12. $sBufor .= '<br/>';
  13. $sBufor .= '<a href="index.php?id=edycja">Edytuj Newsa</a>';
  14. $sBufor .= '<br/>';
  15. $sBufor .= '<a href="index.php?id=usun">Usun Newsa</a>';
  16. $sBufor .= '<br/>';
  17. $sBufor .= '<a href="index.php?id=zmianapw">Zmien Haslo</a>';
  18. $sBufor .= '<br/>';
  19. $sBufor .= '<a href="index.php?id=zmiana">Zmien Nazwe Strony</a>';
  20. $sBufor .= '<br/>';
  21. $sBufor .= '<a href="index.php?id=dodajadmina">Dodaj Admina</a>';
  22. $sBufor .= '<br/>';
  23. $sBufor .= '<a href="index.php?id=wylog">Wyloguj?</a></div>';
  24.  
  25. }
  26. elseif ($user_status == 0)
  27. {
  28. $sBufor .= "Witaj<b> ".$_SESSION['zalogowany_user_login']."</b> Zostaleś pomyślnie zalogowany.";
  29. $sBufor .= '<br/>';
  30. $sBufor .= '<div style="width:110px;text-decoration:none;">';
  31. $sBufor .= '<a href="index.php?id=zamowieniee">Złóż zamówienie!</a>';
  32. $sBufor .= '<br/>';
  33. $sBufor .= '<a href="index.php?id=zmianapw">Zmien Haslo</a>';
  34. $sBufor .= '<br/>';
  35. $sBufor .= '<a href="index.php?id=wylog">Wyloguj?</a></div>';
  36. }
  37. }
  38. elseif (!empty($_POST['wyslano']))
  39. {
  40. if (isset($_POST['username']))
  41. {
  42. $username = $_POST['username'];
  43. $username = mysql_real_escape_string($username); // sql injection ochrona
  44. }
  45.  
  46. if (isset($_POST['password']))
  47. {
  48. $password = md5($_POST['password']);
  49. $password = mysql_real_escape_string($password); // sql injection ochrona
  50. }
  51.  
  52. $db = mysql_connect("localhost","root","vertrigo") or die ("polaczenie nie moze byc zrealizowane");
  53. mysql_select_db("strona") or die ("nie ma takiej bazy danych");
  54. $query = "SELECT status FROM `rejestracja` WHERE `uzytkownik` = '".$username."' AND `haslo` = '".$password."'";
  55. $result = mysql_query($query) or die(mysql_error());
  56. $result = mysql_fetch_array($result);
  57. if(empty($result))
  58. {
  59. echo '<b>Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.</b>';
  60. echo '<br/>';
  61. echo '<a href="index.php?id=newsy">Powrót</a>';
  62. }
  63. else
  64. {
  65. $_SESSION['zalogowany_user_login'] = $username;
  66. $_SESSION['twojehaslo_to'] = $password;
  67. $_SESSION['UserId'] = $result[0]['id'];
  68. $_SESSION['UserStatus'] = $result[0]['status'];
  69. header('Location: index.php');
  70. }
  71.  
  72. }
  73. else
  74. {
  75. $sBufor = '<form action="" method="post">
  76. <div class="lewo2">Username:</div><div class="prawo2"><input type="text" name="username"></div>
  77. <div class="lewo3">Password:</div><div class="prawo3"><input type="password" name="password"></div>
  78. <div id="dol"><button class="button1"><input type="submit" name="wyslano">Zaloguj</button></div>
  79. </form>';
  80.  
  81. }
  82. echo $sBufor;
  83. echo '<br/>';
  84. echo '<br/>';
  85.  
  86.  
  87. ?>
  88. <!-- WYSWIETLA ILOSC ZAREJESTROWANYCH UZYKTOWKOW -->
  89. <?php include("online.php"); ?>


Plik jest includowany , kodowanie itp ma dobre. Usuniecie name z buttonu tez nie pomaga . Ja raczej sam nie wymysle juz tutaj nic ...
/edit
Twoj kumpel ze studiow znalazl mi latwiejsze rozwiazanie biggrin.gif
lobopol
Dziwne użyłem tego kodu i działa, zaraz skrobnę kilka poprawek i wyedytuje tego posta.
  1. <?php
  2. if($_POST['logowanie']){
  3. echo "bla";
  4. if (isset($_POST['username']))
  5. {
  6. $username = $_POST['username'];
  7. $username = mysql_real_escape_string($username);
  8. }
  9.  
  10. if (isset($_POST['password']))
  11. {
  12. $password = md5($_POST['password']);
  13. $password = mysql_real_escape_string($password);
  14. }
  15. $db = mysql_connect("localhost","root","vertrigo") or die ("polaczenie nie moze byc zrealizowane");
  16. mysql_select_db("strona") or die ("nie ma takiej bazy danych");
  17. $query = "SELECT status FROM `rejestracja` WHERE `uzytkownik` = '".$username."' AND `haslo` = '".$password."'";
  18. $result = mysql_query($query) or die(mysql_error());
  19. $result = mysql_fetch_array($result);
  20.  
  21. if(empty($result))
  22. {
  23. echo '<b>Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.</b>';
  24. echo '<br/>';
  25. echo '<a href="index.php?id=newsy">Powrót</a>';
  26. }
  27. else
  28. {
  29. $_SESSION['zalogowany_user_login'] = $username;
  30. $_SESSION['twojehaslo_to'] = $password;
  31. $_SESSION['UserId'] = $result[0]['id'];
  32. $_SESSION['UserStatus'] = $result[0]['status'];
  33. }
  34. }
  35. if(is_numeric($_SESSION['UserId'])){
  36. if($_SESSION['UserStatus'] == 1){
  37. $sBufor .= "<div style='text-decoration:none;font-family:Georgia;color:red;'>Witaj administratorze";
  38. $sBufor .= ''.$_SESSION['zalogowany_user_login'].' zostałeś/aś pomyślnie zalogowany/a.<br/>';
  39. $sBufor .= '<br/>';
  40. $sBufor .= '<a href="index.php?id=dodajnewsa">Dodaj Newsa</a>';
  41. $sBufor .= '<br/>';
  42. $sBufor .= '<a href="index.php?id=edycja">Edytuj Newsa</a>';
  43. $sBufor .= '<br/>';
  44. $sBufor .= '<a href="index.php?id=usun">Usun Newsa</a>';
  45. $sBufor .= '<br/>';
  46. $sBufor .= '<a href="index.php?id=zmianapw">Zmien Haslo</a>';
  47. $sBufor .= '<br/>';
  48. $sBufor .= '<a href="index.php?id=zmiana">Zmien Nazwe Strony</a>';
  49. $sBufor .= '<br/>';
  50. $sBufor .= '<a href="index.php?id=dodajadmina">Dodaj Admina</a>';
  51. $sBufor .= '<br/>';
  52. $sBufor .= '<a href="index.php?id=wylog">Wyloguj?</a></div>';
  53. }
  54. elseif ($user_status == 0){
  55. $sBufor .= "Witaj<b> ".$_SESSION['zalogowany_user_login']."</b> Zostaleś pomyślnie zalogowany.";
  56. $sBufor .= '<br/>';
  57. $sBufor .= '<div style="width:110px;text-decoration:none;">';
  58. $sBufor .= '<a href="index.php?id=zamowieniee">Złóż zamówienie!</a>';
  59. $sBufor .= '<br/>';
  60. $sBufor .= '<a href="index.php?id=zmianapw">Zmien Haslo</a>';
  61. $sBufor .= '<br/>';
  62. $sBufor .= '<a href="index.php?id=wylog">Wyloguj?</a></div>';
  63. }
  64. }
  65. elseif(!$_POST['logowanie']){
  66. $sBufor = '
  67. <form action="" method="post">
  68. <div class="lewo2">Username:</div><div class="prawo2"><input type="text" name="username"></div>
  69. <div class="lewo3">Password:</div><div class="prawo3"><input type="password" name="password"></div>
  70. <div id="dol"><input type="submit" name="logowanie" value="logowanie"></div>
  71. </form>';
  72. }
  73.  
  74. echo $sBufor;
  75. echo '<br/>';
  76. echo '<br/>';
  77.  
  78. ?>


Nie jest to najpiękniejsze rozwiązanie ale powinno działać smile.gif
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.