Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt nie dodaje rekordow do bazy
krzysiek1
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 24.01.2010

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


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

Ten post edytował krzysiek1 24.01.2010, 22:27:47
Go to the top of the page
+Quote Post
bełdzio
post
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


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
Go to the top of the page
+Quote Post
krzysiek1
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 24.01.2010

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


ok, dzieki. posprawdzalem bledy, poprawilem i wszystko jest ok.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 04:51