Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: Skrypt nie dodaje rekordow do bazy
Forum PHP.pl > Forum > PHP
krzysiek1
Witam, mam pewnien problem. posiadam skrypt ktory powienien po zarejestrowaniu dodac nowe konto do bazy danych ale tego nie robi, chociaz po rejestracji jest napisane ze uzytkownik zostal utworzony.:

  1. <?php
  2. require('includes/OTSChecker.class.php');
  3. require('includes/countries.php');
  4. include("includes/text_captcha.php");
  5.  
  6.  
  7. function ValidEmail($email) {
  8. if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)) {
  9. return false;
  10. }
  11. return true;
  12. }
  13.  
  14.  
  15.  
  16. // ==== REJESTRACJA UÅ?YTKOWNIKÃ?W ====
  17.  
  18. if ( isset ( $_SESSION['lista']['zalogowany'] ) )
  19. {
  20. echo '<br/><center><h2>Nie moÅ¥esz dodaÄ? wiÄ?cej niÅ¥ jednego serwera.</h2></center>';
  21. } else {
  22.  
  23. if ( $_GET['action'] == 'submit' )
  24. {
  25. $AntiBot = $_POST['login'];
  26.  
  27. if ( $AntiBot == 'x')
  28. {
  29. echo '<br/><h2>Utworzono konto</h2><br/>MoÅ¥esz teraz przejÅ?Ä? do edycji profilu aby ustawiÄ? opis serwera.';
  30. } else {
  31. include ('includes/clients.php');
  32.  
  33. $Error = false;
  34. $Email = mysql_escape_string( $_POST['email'] );
  35. $Password = $_POST['haslo'];
  36. $Login = $_POST['llogin'];
  37. $Title = mysql_escape_string( htmlspecialchars( $_POST['nazwa_ots'] ) );
  38. $POST_Country = $_POST['kraj'];
  39.  
  40. $IP = mysql_escape_string( htmlspecialchars( $_POST['adres_ip'] ) );
  41.  
  42. $Port = intval( $_POST['port'] );
  43. $Client = mysql_escape_string ( $_POST['klient'] );
  44.  
  45. $CheckExists = $mysqli -> query ('SELECT id FROM `list_ots` WHERE `login`="' .$Login. '" OR `ip`="' .$IP. '" OR `e-mail`="' .$Email. '"');
  46.  
  47. $CheckBan = $mysqli -> query ( 'SELECT * FROM `list_bans` WHERE `name` = "' .$Login. '" AND `banned` = "1" OR `name` = "' .$IP. '" AND `banned` = "1" OR `name` = "' .$Email. '" AND `banned` = "1"');
  48.  
  49. if ( $CheckBan -> num_rows > 0 )
  50. {
  51. $Error .= '<li><b>PODANY LOGIN, ADRES IP LUB E-MAIL JEST ZABRONIONY</b></li>';
  52. }
  53.  
  54. if ( $CheckExists -> num_rows > 0)
  55. {
  56. $Error .= '<li><b>Podany serwer, login lub e-mail jest juť zarejestrowany.</b></li>';
  57. }
  58.  
  59. if ( !in_array ( $POST_Country , $Country ) )
  60. {
  61. $Error .= '<li>Nie poprawny kraj!</li>';
  62. }
  63.  
  64. if ( $_POST['kod'] != $_SESSION['lista']['kod'] OR !isset($_SESSION['lista']['kod']) )
  65. {
  66. $Error .= '<li>Nie poprawna odpowiedź na pytanie potwierdzajÄ?ce</li>';
  67. unset($_SESSION['lista']['kod']);
  68. }
  69.  
  70. if ( !in_array ( $Client, $Clients ) )
  71. {
  72. $Error .= '<li>Nie prawidÅ?owy klient</li>';
  73. }
  74.  
  75. if ( !eregi ('^[a-zA-Z0-9_]{5,15}$', $Login) )
  76. {
  77. $Error .= '<li>Login jest za krótki lub zawiera znaki z poza alfabetu</li>';
  78. }
  79.  
  80. if ( $_POST['haslo'] != $_POST['powtorz'] )
  81. {
  82. $Error .= '<li>HasÅ?a siÄ? nie zgadzajÄ? ze sobÄ?.</li>';
  83. }
  84.  
  85. if ( !eregi ('^[a-zA-Z0-9_]{5,15}$', $Password) )
  86. {
  87. $Error .= '<li>HasÅ?o jest za krótkie, lub zawiera znaki z poza alfabetu.</li>';
  88. }
  89.  
  90. if ( !ValidEmail ( $Email ) )
  91. {
  92. $Error .= '<li>Nie poprawny format adresu e-mail.</li>';
  93. }
  94.  
  95. if ( $Port < 7000 OR $Port > 7500 )
  96. {
  97. $Error .= '<li>Port nie mieÅ?ci siÄ? w przedziale 7000 do 7500</li>';
  98. }
  99.  
  100.  
  101. if ( $Error == false)
  102. {
  103. $MQuery = 'INSERT INTO `mybb`.`list_ots` (
  104. `id` ,
  105. `login` ,
  106. `password` ,
  107. `name` ,
  108. `lastcheck` ,
  109. `status` ,
  110. `players` ,
  111. `maxplayers` ,
  112. `country` ,
  113. `ip` ,
  114. `port` ,
  115. `e-mail`,
  116. `client`
  117. )
  118. VALUES (
  119. NULL ,
  120. \'' .$Login. '\',
  121. MD5( \'' .$Password. '\' ) ,
  122. \'' .$Title. '\',
  123. \'' .mktime(). '\',
  124. \'1\',
  125. \'' .mysql_escape_string(htmlspecialchars($Server -> GetCountOfPlayersOnline())). '\',
  126. \'' .mysql_escape_string(htmlspecialchars($Server -> GetMaxPlayersCount())). '\',
  127. \'' .$POST_Country. '\',
  128. \'' .$IP. '\',
  129. \'' .$Port. '\',
  130. \'' .$Email. '\',
  131. \'' .$Client. '\');
  132.  
  133. ';
  134. if ( $mysqli -> query ( $MQuery ))
  135. {
  136. echo '<h2>Rejestracja zakoÅ?czona pomyÅ?lnie</h2><br/>Teraz moÅ¥esz przejÅ?Ä? do zmiany opisu Swojego serwera OTS.';
  137. // ==== DODANIE NOWEGO KONTA OCZEKIWUJACEGO AKTYWACJI
  138. } else {
  139. echo '<h2>WystÄ?piÅ? wewnÄ?trzny bÅ?Ä?d serwera</h2><br/>Przepraszamy ale dodawanie serwerów jest tymczasowo niedostÄ?pne, proszÄ? spróbowaÄ? później.';
  140. }
  141. } else {
  142. echo '<br/><br/><h2>Podczas rejestracji wystÄ?piÅ?y bÅ?Ä?dy</h2><br/>' .$Error;
  143. }
  144.  
  145. }
  146.  
  147. } else {
  148. include ('includes/clients.php');
  149.  
  150. foreach ( $Clients as $Key => $Value )
  151. {
  152. $ClientsOptions .= '<option value="' .$Value. '">' .$Value. '</option>';
  153. }
  154.  
  155. foreach ( $Country as $Key => $Value )
  156. {
  157. if ( $UserData['country'] == $Key )
  158. {
  159. $isSelected = 'selected';
  160. } else {
  161. $isSelected = '';
  162. }
  163. $CountryOptions .= '<option value="' .$Key. '" ' .$isSelected. '>' .$Key. '</option>';
  164. }
  165.  
  166. $Question = RandomText ( $TXT );
  167. $_SESSION['lista']['kod'] = $TXT[$Question];
  168.  
  169. echo '<br/><h2>Rejestracja nowego konta</h2>
  170. <form action="?page=register&action=submit" method="POST">
  171. <table border="0">
  172. <tr><td>Login: </td><td><input type="text" name="llogin"/> ( 5-15 znaków, A-Z i 0-9 )</td></tr>
  173. <tr><td>HasÅ?o: </td><td><input type="password" name="haslo"/> ( 5-15 znaków, A-Z i 0-9 )</td></tr>
  174. <tr><td>Powtórz: </td><td><input type="password" name="powtorz"/></td></tr>
  175. <tr><td> </td><td> </td></tr>
  176. <tr><td>Nazwa OTS:  </td><td><input type="text" name="nazwa_ots"/> ( Mój OTserver, 24/7, exp x4)</td></tr>
  177. <tr><td>Adres IP: </td><td><input type="text" name="adres_ip"/> ( np. mojots.no-ip.org, 89.55.100.101 )</td></tr>
  178. <tr><td>Port: </td><td><input type="text" name="port" value="7171"/></td></tr>
  179. <tr><td>E-mail: </td><td><input type="text" name="email"/> ( nazwa@domena.org )</td></tr>
  180. <tr><td><input type="checkbox" name="login" value="x" style="visibility: hidden;"></td><td> </td></tr>
  181. <tr><td>Klient:</td><td>
  182. <select name="klient">
  183. ' .$ClientsOptions. '
  184. </select>
  185. </td>
  186. </tr>
  187. <tr><td>Kraj:</td><td>
  188. <select name="kraj">
  189. ' .$CountryOptions. '
  190. </select>
  191. </td>
  192. </tr>
  193. <tr><td> </td><td> </td></tr>
  194. <tr><td>Pytanie: </td><td>' .$Question. '</td></tr>
  195. <tr><td>Odpowiedz: </td><td><input type="text" name="kod"/></td></tr>
  196. <tr><td> </td><td> </td></tr>
  197. <tr><td> </td><td><input type="submit" value="Zarejestruj" /></td></tr>
  198. </table>
  199. </form>';
  200. }
  201. }
  202.  
  203. //$result = $mysqli->query('');
  204. ?>

:
myslalem ze to moze wina bazy...jakies uprawnienia czy cos...ale dodalem konto "recznie" i dalem mu bana i skrypt dodal rekord o banie do bazy:

  1. <?php
  2. function isBanned ( &$int )
  3. {
  4. if ( $int == 1 )
  5. return '<font color="red"><b>Tak</b></font>';
  6. else
  7. return 'Nie';
  8. }
  9.  
  10. $CheckAdmin = $mysqli -> query ( 'SELECT * FROM `list_ots` WHERE login="' .$_SESSION['lista']['zalogowany']. '"' );
  11. $Assoc = $CheckAdmin->fetch_assoc();
  12.  
  13. if ( $Assoc['admin'] == 1 )
  14. {
  15. if ( $_GET['action'] == 'change' )
  16. {
  17. $ID = intval ( $_GET['id'] );
  18.  
  19. $CheckBan = $mysqli->query( 'SELECT * FROM `list_bans` WHERE `id` = "' .$ID. '"' );
  20. $CheckBanRow = $CheckBan -> fetch_assoc ();
  21.  
  22. if ( $CheckBanRow['banned'] == 1 )
  23. {
  24. $mysqli-> query ( 'UPDATE `list_bans` SET `banned` = "0" WHERE `id` = "' .$ID. '"');
  25. } else {
  26. $mysqli-> query ( 'UPDATE `list_bans` SET `banned` = "1" WHERE `id` = "' .$ID. '"');
  27. }
  28. } elseif ( $_GET['action'] == 'add' )
  29. {
  30. $mysqli -> query ( 'INSERT INTO `list_bans` (`id` ,`name` ,`banned`) VALUES (NULL , \'' .mysql_escape_string ( $_POST['banned_string'] ). '\', \'1\');' );
  31.  
  32. } elseif ( $_GET['action'] == 'delete' )
  33. {
  34. $mysqli -> query ( 'DELETE FROM `list_bans` WHERE `id` = "' . intval ( $_GET['id'] ) . '"' );
  35. }
  36.  
  37.  
  38. echo '<h1>Zbanowani</h1><br/>';
  39.  
  40. $BannedQuery = $mysqli -> query ( 'SELECT * FROM `list_bans`' );
  41. $i=0;
  42.  
  43. $Echo = '<table border="1" cellpadding="0" cellspacing="0" width="100%"><tr align="center" style="font-size: 16px;" bgcolor="#B7B481"><td><b>IP LUB E-MAIL</b></td><td><b>AKTYWNE</b></td><td><b>USUŃ</b></td></tr>';
  44.  
  45. while ( $Row = $BannedQuery -> fetch_assoc () )
  46. {
  47. $i++;
  48. $Echo .= '<tr align="center" height="20"><td>' .$Row['name']. '</td><td><a href="?page=bans&action=change&id=' .$Row['id']. '" style="text-decoration: none;">' .isBanned ( $Row['banned'] ). '</a></td><td><input type="checkbox" onclick="window.location=\'?page=bans&action=delete&id=' .$Row['id']. '\';"/></tr>';
  49. }
  50.  
  51. if ( $i == 0 )
  52. {
  53. $Echo .= '<tr align="center" height="20"><td colspan="3">BRAK BANÃ?W</td></tr>';
  54. }
  55.  
  56. $Echo .= '</table>';
  57.  
  58. echo $Echo. '<br/><h1>Dodaj nowe</h1><br/>
  59. <form action="?page=bans&action=add" method="POST">
  60. <table border="0">
  61. <tr>
  62. <td>IP lub e-mail: </td>
  63. <td><input type="text" name="banned_string"/></td>
  64. </tr>
  65.  
  66. <tr>
  67. <td> </td>
  68. <td><input type="submit" value="Dodaj do listy banów"/></td>
  69. </tr>
  70. </table>
  71. </form>';
  72. }
  73. ?>`


dodam jeszcze ze na te recznie utworzone konto moge sie zalogowac na stronie. Prosze o pomoc

P.s. nie wiedzialem do ktorego dzialu dac, do baz danych czy tutaj
be³dzio
co zwraca $mysqli -> query ?

daj przed if ( $mysqli -> query ( $MQuery ))
Kod
die( $MQuery );


wrzuæ otrzymane zapytanie do bazy przez phpMyAdmina i zobacz czy siê wykona czy rzuci b³êdem
krzysiek1
ok, dzieki. posprawdzalem bledy, poprawilem i wszystko jest ok.
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.