Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z zalogowaniem
Forum PHP.pl > Forum > Przedszkole
mariolg
Witam, w tematyce php jestem jak to mozna powiedziec kompletnie "zielony"
Dostalem ten skrypt od znajomego, lecz nie umiem niestety zalogowac sie do panelu.
Nie mam pojecia gdzie wpisac i co zmienic aby logowanie odbywało sie poprawnie.
Prosze oto kod z pliku index.php
  1. <?php
  2.  
  3. define('SAFETY_CHECK',NULL);
  4.  
  5. require_once("../config.php");
  6. require_once("functions.php");
  7. require_once("lang_pl.php");
  8.  
  9.  
  10. $logged=0;
  11.  
  12. //logowanie
  13. if ($_POST['login']!='' && $_POST['pass']!='') {
  14.    $result=mysql_query("SELECT * FROM gm WHERE name='" . $_POST['login'] . "' and active=1 and pass='" . md5($_POST['pass']) . "'");
  15.    $row=mysql_fetch_array($result);
  16.    if($row[1]!="" && $row[1]==$_POST['login'] && $row[2]==md5($_POST['pass'])) {
  17.        $_SESSION['gmid']=$row[0];
  18.        $_SESSION['pass']=$row[2];
  19.        //zapisanie logowania w logach:
  20.        mysql_query("INSERT INTO `logi` ( `id` , `gm_id` , `czynnosc` , `inne_id` , `data` , `ip` ) VALUES ( NULL , '{$_SESSION['gmid']}', '0', '0', NOW(), '{$_SERVER['REMOTE_ADDR']}');");
  21.    }    
  22. }
  23.  
  24. //sprawdzanie przy kazdym odswiezeniu poprawnosci podanego hasla zapisanego w sesji
  25. if(isset($_SESSION['gmid']) && isset($_SESSION['pass'])) {
  26. $result=mysql_query("SELECT * FROM gm WHERE id='" . $_SESSION['gmid'] . "'");
  27.    $user=mysql_fetch_array($result);
  28.    if($user[0]==$_SESSION['gmid'] && $user[2]==$_SESSION['pass']) {
  29.            $logged=1;
  30.    }
  31. }
  32.  
  33. //wylogowywanie
  34. if ($logged && $_POST['logout']) {
  35.    $logged=0;
  36.    mysql_query("INSERT INTO `logi` ( `id` , `gm_id` , `czynnosc` , `inne_id` , `data` , `ip` ) VALUES ( NULL , '{$_SESSION['gmid']}', '1', '0', NOW(), '{$_SERVER['REMOTE_ADDR']}');");
  37.    unset($_SESSION['gmid']);
  38.    unset($_SESSION['pass']);
  39. }
  40.  
  41. ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  42. <html>
  43. <head>
  44.    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  45.    <meta http-equiv="Content-Style-Type" content="text/css">
  46.        <meta name="author" content="">
  47.                              <title>Strona Informacyjna</title>
  48.    <link rel="stylesheet" href="../style.css" type="text/css">
  49.    <style type="text/css">@import url(jscalendar-1.0/skins/aqua/theme.css);</style>
  50. <script type="text/javascript" src="jscalendar-1.0/calendar.js"></script>
  51. <script type="text/javascript" src="jscalendar-1.0/lang/calendar-en.js"></script>
  52. <script type="text/javascript" src="jscalendar-1.0/calendar-setup.js"></script>
  53. </head>
  54.  
  55. <?php
  56. if (!$logged) { //panel logowania
  57. ?>
  58. <center>
  59. <object
  60. type="application/x-shockwave-flash" data="http://xworld.internetdsl.pl/forum/phpbb.swf"
  61. width="390" height="134">
  62. <param name="movie" value="http://infostrona.pl/forum/phpbb.swf" />
  63. </object>    
  64. <form action="index.php" method="post">
  65. <table>
  66. <tr><td class="catHead" colspan="2" width="390"><center><span class="cattitle">Logowanie</span></center></td></tr>
  67.  
  68. <tr><th>&nbsp;Login&nbsp;</th><th><input type="text" name="login"></th>
  69. <tr><th>&nbsp;Hasło&nbsp;</th><th><input type="password" name="pass"></th>
  70. <tr><td class="catHead" colspan="2"><center><input type="submit" value="Zaloguj"></center></td></tr>
  71. </table>
  72. </form>
  73. </center>
  74. <?php
  75.  
  76. } else { //panel gm, koniec panelu logowania
  77. ?>
  78.  
  79. <center>
  80. <table border="0" width="98%">
  81. <tr><td width="390">
  82.        <object type="application/x-shockwave-flash" data="http://infostrona.pl/forum/phpbb.swf" width="390" height="134"></td><td>
  83.        <param name="movie" value="http://infostrona.pl/forum/phpbb.swf" /></object><h1>X-World.pl Info</h1><h2>Panel Administratora</h2>
  84.        </td></tr>
  85. </table>
  86.  
  87. <table border="0" width="98%">
  88. <tr><td width="200" valign="top">
  89. <h3>MENU</h3>
  90. <p><img src="../dot.gif">&nbsp;<a href="../index.php">Przejdź do strony głównej</a></p>
  91. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=ban">Dodaj ban</a></p>
  92. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=warn">Dodaj warn</a></p>
  93. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=afk">Dodaj afk</a></p>
  94. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=gracz">Lista graczy w bazie</a></p>
  95. <hr>
  96. <?php
  97. if ($user[3]) { //panel administratora
  98. ?>
  99. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=gildia">Lista gildii</a></p>
  100. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=gildia&amp;notactive=1">Gildie do weryfikacji</a></p>
  101. <hr>
  102. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=admin">Modyfikuj profile GMów</a></p>
  103. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=logi">Logi czynnosci GMów</a></p>
  104.  
  105. <?php
  106. } else echo "<p>Nie posiadasz uprawnień administratora</p>";
  107. ?>
  108. <p>Jesteś zalogowany jako <b>
  109. <?php
  110. echo $user[1];
  111. ?></b></p>
  112. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=profil">Twój profil</a></p>
  113. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=notatnik">Twój notatnik</a></p>
  114. <p><img src="../dot.gif">&nbsp;<a href="index.php?p=ogolnynotatnik">Notatnik ogólny</a></p>
  115. <p><form action="index.php" method="post"><input type="hidden" name="logout" value="1"><input type="submit" value="Wyloguj"></form></p>
  116. <hr>
  117.  <center><p>
  118.    <a href="http://validator.w3.org/check?uri=referer"><img
  119.        src="http://www.w3.org/Icons/valid-html401"
  120.        alt="Valid HTML 4.01 Transitional" style="border:0;" height="31" width="88"></a>
  121. </center>
  122.  
  123. <hr>
  124.  
  125. </td>
  126. <td align="middle"><div>
  127. <?php
  128. switch ($_GET['p']) {
  129.       case 'ban':
  130.       case 'warn':
  131.       case 'afk':
  132.       case 'admin':
  133.       case 'profil':
  134.       case 'gracz':
  135.       case 'profile':
  136.       case 'gmprofile':
  137.       case 'notatnik':
  138.       case 'ogolnynotatnik':
  139.       case 'gildia':
  140.       case 'logi':
  141.               include($_GET['p'] . ".php");
  142.            break;
  143.        default:
  144.            echo "Wybierz coś z menu.";
  145. }
  146.  
  147. ?>
  148. </div></td></tr>
  149. <?php
  150.  
  151. }//koniec panelu admina
ferrero2
Przede wszystkim użycie słowa require powoduje dołączenie do tego skryptu kolejnego pliku. Ty masz ich aż trzy.
Błąd może być np w pliku functions.php.

Z tego co widzę skrypt bazuje na bazie danych. Rozumiem, że jakąś bazę posiadasz, tabele i kolumny zgadzają się z tymi opisanymi w skrypcie ?

Napisz coś więcej, co to znaczy, że nie możesz sie zalogować ? Jakiś raport błędów ?

Pozdrawiam
Kamil Jura
Matko boska ... smile.gif

Ten kod to istny śmietnik ...

Do rzeczy, po co tam taki duży IF ?

Co do require_once - jeśli ten plik jest wywoływany z innego pliku przez include oraz w tamtym pliku jest już użyte require_once pobierające te same pliki - to najprawdopodobniej przez to nie możesz nic zrobić z tym skryptem.

Drugą sprawą jest to, że to nie jest kod tylko śmietnik. Ten kod można było napisać dużo prościej i lepiej - tak, właśnie smile.gif powiedz to znajomemu który Ci to dał.
mariolg
Tak, ale wydaje mi sie ze w pozostalych plikach jest all ok. to zawartosc pliku functions.php

  1. <?php
  2.  
  3. if (!defined('SAFETY_CHECK')) {
  4.    echo "Brak dostepu.";
  5.    exit;
  6. }
  7.  
  8. function zaloz_ban($name) {
  9.    if (ALLOW_MU_DB_MODIF==0) return 1;
  10.    if (!mysql_query("use muonline")) {
  11.        return 0;
  12.    }
  13.    $query = "update dbo.character SET ctlcode='1' WHERE name='{$name}';";
  14.    $result = mysql_query($query);
  15.    
  16.    if (!$result) {
  17.        return 0;
  18.    } else {
  19.        mysql_query("use $dbname");
  20.        return 1;
  21.    }
  22. }
  23.  
  24. function zdejmij_ban($name) {
  25.    if (ALLOW_MU_DB_MODIF==0) return 1;
  26.    if (!mysql_query("use muonline")) {
  27.        return 0;
  28.    }
  29.    $query = "update dbo.character SET ctlcode='0' WHERE name='{$name}';";
  30.    $result = mysql_query($query);
  31.    
  32.    if (!$result) {
  33.        return 0;
  34.    } else {
  35.        mysql_query("use $dbname");
  36.        return 1;
  37.    }
  38. }
  39. /*
  40. function daj_gm($name) {
  41.     if (ALLOW_MU_DB_MODIF==0) return 1;
  42.     if (!mysql_query("use muonline")) {
  43.         return 0;
  44.     }
  45.     $query = "update dbo.character SET ctlcode='32' WHERE name='{$name}';";
  46.     $result = mysql_query($query);
  47.     
  48.     if (!$result) {
  49.         return 0;
  50.     } else {
  51.         mysql_query("use $dbname");
  52.         return 1;
  53.     }
  54. }
  55. */
  56. ?>


a Tutaj zawartosc pliku lang_pl.php

  1. <?php
  2.  
  3. //Nie zmieniać indeksów w tablicy!!!
  4. $logi[0] = "Zalogowanie";
  5. $logi[1] = "Wylogowanie";
  6. $logi[2] = "Założenie bana";
  7. $logi[3] = "Usunięcie bana";
  8. $logi[4] = "Edycja bana";
  9. $logi[5] = "Dodanie AFK";
  10. $logi[6] = "Usunięcie AFK";
  11. $logi[7] = "Edycja AFK";
  12. $logi[8] = "Dodanie warna";
  13. $logi[9] = "Usunięcie warna";
  14. $logi[10]= "Edycja warna";
  15. $logi[11]= "Dodanie gracza";
  16. $logi[12]= "Edycja nicku gracza";
  17. $logi[13]= "Edycja swojego notatnika";
  18. $logi[14]= "Edycja ogólnego notatnika";
  19. $logi[15]= "Aktywowanie GMa";
  20. $logi[16]= "Deaktywowanie GMa";
  21. $logi[17]= "Nadanie admina GMowi";
  22. $logi[18]= "Odebranie admina GMowi";
  23. $logi[19]= "Zmiana hasła GMa";
  24. $logi[20]= "Usunięcie gildii";
  25. $logi[21]= "Zaakceptowanie gildii";
  26. $logi[22]= "Edycja danych gildii";
  27. $logi[23]= "Przywrócenie gildii do czekajšcych na akceptację";
  28. $logi[24]= "Dodanie newsa";
  29. $logi[25]= "Usunięcie newsa";
  30. $logi[26]= "Edycja newsa";
  31. $logi[27]= "Zmiana swojego hasła";
  32. $logi[28]= "Czyszczenie logów";
  33.  
  34. ?>


Baze danych posiadam. tak tabele i klumny zgadzaja sie z opisanymi w skrypcie. Poprostu nie wiem , nie mam pojecia gdzie wpisac moj login i haslo administratora aby sie zalogowac, probowalem w index.php , probowalem w bazie danych jednak zawsze gdy wpisuje klikam zaloguj przenosi mnie spowrotem do logowania tak jakby albo byly zle albo logowanie nie dziala poprawnie.

ten 1 plik w 1 moim poscie nazywa sie index.php i mam go w folderze admin . przed folderem admin rowniez mam plik index.php a oto jego zawartosc :

  1. <?php
  2.  
  3. define('SAFETY_CHECK',NULL);
  4.  
  5. require_once("config.php");
  6.  
  7. $logged=1;
  8.  
  9.  
  10. ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  11. <html>
  12. <head>
  13.    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  14.    <meta http-equiv="Content-Style-Type" content="text/css">
  15.    <meta name="author" content="">
  16.            <title>Strona Informacyjna</title>
  17.    <link rel="stylesheet" href="style.css" type="text/css">
  18. </head>
  19. <center>
  20. <table border="0" width="98%">
  21. <tr>
  22. <p><img src="logo.gif"
  23. <td><h1>Info</h1></td>
  24. </tr>
  25. </table>
  26.  
  27. <table border="0" width="98%">
  28. <tr><td width="200" valign="top">
  29. <hr>
  30. <h3>AFK,WARNY,BANY</h3>
  31. <p><img src="dot.gif" alt="x">&nbsp;<a href="index.php">Start</a></p>
  32. <p><img src="dot.gif" alt="x">&nbsp;<a href="index.php?p=gracze">Gracze</a></p>
  33. <p><img src="dot.gif" alt="x">&nbsp;<a href="index.php?p=gmowie">GMowie</a></p>
  34. <p><img src="dot.gif" alt="x">&nbsp;<a href="index.php?p=bany">Bany</a></p>
  35. <p><img src="dot.gif" alt="x">&nbsp;<a href="index.php?p=warny">Warny</a></p>
  36. <p><img src="dot.gif" alt="x">&nbsp;<a href="index.php?p=afk">Afk</a></p>
  37. <hr>
  38. <p><img src="dot.gif" alt="x">&nbsp;<a href="index.php?p=wykaz">Cennik resów</a></p>
  39. <p><img src="dot.gif" alt="x">&nbsp;<a href="index.php?p=gildie">Gildie</a></p>
  40. <p><img src="dot.gif" alt="x">&nbsp;<a href="http://infostrona/">Strona serwera</a></p>
  41. <p><img src="dot.gif" alt="x">&nbsp;<a href="http://infostrona/forum/">Forum</a></p>
  42. <p><img src="dot.gif" alt="x">&nbsp;<a href="index.php?p=reg">Regulamin</a></p>
  43. <p><img src="dot.gif" alt="x">&nbsp;<a href="index.php?p=client">Client</a></p>
  44.  
  45. <hr>
  46. <p><img src="dot.gif" alt="x">&nbsp;<a href="admin/">Panel GM</a></p>
  47. <hr>
  48. <p>
  49.    <a href="http://validator.w3.org/check?uri=referer"><img
  50.        src="http://www.w3.org/Icons/valid-html401"
  51.        alt="Valid HTML 4.01 Transitional" style="border:0;"></a>
  52. </p>
  53. <hr>
  54.  
  55.  
  56. </td>
  57. <td align="center" valign="middle"><div>
  58.  
  59. <?php
  60. switch ($_GET['p']) {
  61. /*lista plikow php zezwolonych do include'owania*/
  62.       case 'gracze':
  63.       case 'bany':
  64.       case 'warny':
  65.       case 'afk':
  66.       case 'profile':
  67.       case 'gmprofile':
  68.       case 'gmowie':
  69.       case 'wykaz':
  70.       case 'reg':
  71.       case 'client':
  72.       case 'gildie':
  73.       case 'zgloszenie':
  74.               include($_GET['p'] . ".php");
  75.            break;
  76.        default:
  77. /*domyslnie:*/
  78.            include("default.php");
  79. }
  80.  
  81. ?>
  82.  
  83. </div></td></tr>
  84.  <tr><td class="footer" colspan="2">
phius
być może hasło które wpisujesz do bazy danych nie jest zakodowane md5

spróbuj wykonać zapytanie
  1. INSERT INTO `gm` (`name`, `pass`, `active`, `admin`)
  2. VALUES ( 'admin', '47bce5c74f589f4867dbd57e9ca9f808', '1', '1');


wtedy login to admin a hasło to aaa
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.